Bouncy Castle Crypto Package - Release Notes

1.0 Introduction

The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. The package is organised so that it contains a light-weight API suitable for use in any environment (including the J2ME) with the additional infrastructure to conform the algorithms to the JCE framework.

2.0 Release History

2.1.1 Version

Release: 1.72
Date:      2022, September 25th

2.1.2 Defects Fixed

2.1.3 Additional Features and Functionality

2.1.4 Notes

Keep in mind the PQC algorithms are still under development and we are still at least a year and a half away from published standards. This means the algorithms may still change so by all means experiment, but do not use the PQC algoritms for anything long term.

The legacy "Rainbow" and "McEliece" implementations have been removed from the BCPQC provider. The underlying classes are still present if required. Other legacy algorithm implementations can be found under the org.bouncycastle.pqc.legacy package.

2.1.5 Security Notes

The PQC SIKE algorithm is provided for research purposes only. It should now be regarded as broken. The SIKE implementation will be withdrawn in BC 1.73.

2.2.1 Version

Release: 1.71
Date:      2022, March 31st.

2.2.2 Defects Fixed

2.2.3 Additional Features and Functionality

2.2.4 Notes

2.3.1 Version

Release: 1.70
Date:      2021, November 29th.

2.3.2 Defects Fixed

2.3.3 Additional Features and Functionality

2.3.4 Notes.

2.4.1 Version

Release: 1.69
Date:      2021, June 7th.

2.4.2 Defects Fixed

2.4.3 Additional Features and Functionality

2.4.4 Notes

2.5.1 Version

Release: 1.68
Date:      2020, December 21st.

2.5.2 Defects Fixed

2.5.3 Additional Features and Functionality

2.6.1 Version

Release: 1.67
Date:      2020, November 1st.

2.6.2 Defects Fixed

2.6.3 Additional Features and Functionality

2.6.4 Security Advisory

2.7.1 Version

Release: 1.66
Date:      2020, July 4th.

2.7.2 Defects Fixed

2.7.3 Additional Features and Functionality

2.7.4 Notes

The qTESLA update breaks compatibility with previous versions. Private keys now include a hash of the public key at the end, and signatures are no longer interoperable with previous versions.

2.8.1 Version

Release: 1.65
Date:      2020, March 31st.

2.8.2 Defects Fixed

2.8.3 Additional Features and Functionality

2.9.1 Version

Release: 1.64
Date:      2019, October 7th.

2.9.2 Defects Fixed

2.9.3 Additional Features and Functionality

2.9.4 Removed Features and Functionality

2.9.5 Security Advisory

2.10.1 Version

Release: 1.63
Date:      2019, September 10th.

2.10.2 Defects Fixed

2.10.3 Additional Features and Functionality

2.11.1 Version

Release: 1.62
Date:      2019, June 3rd.

2.11.2 Defects Fixed

2.11.3 Additional Features and Functionality

2.12.1 Version

Release: 1.61
Date:      2019, February 4th.

2.12.2 Defects Fixed

2.12.3 Additional Features and Functionality

2.12.4 Removed Features and Functionality

2.13.1 Version

Release: 1.60
Date:      2018, June 30

2.13.2 Defects Fixed

2.13.3 Additional Features and Functionality

2.13.4 Security Related Changes and CVE's Addressed by this Release

2.14.1 Version

Release: 1.59
Date:      2017, December 28

2.14.2 Defects Fixed

2.14.3 Additional Features and Functionality

2.14.4 Security Related Changes and CVE's Addressed by this Release

2.15.1 Version

Release: 1.58
Date:      2017, August 18

2.15.2 Defects Fixed

2.15.3 Additional Features and Functionality

2.15.4 Removed Features and Functionality

2.16.1 Version

Release: 1.57
Date:      2017, May 11

2.16.2 Defects Fixed

2.16.3 Additional Features and Functionality

2.16.4 Security Related Changes

2.17.1 Version

Release: 1.56
Date:      2016, December 23

2.17.2 Defects Fixed

2.17.3 Additional Features and Functionality

2.17.4 Security Related Changes and CVE's Addressed by this Release

2.17.5 Security Advisory

2.18.1 Version

Release: 1.55
Date:      2016, August 18

2.18.2 Defects Fixed

2.18.3 Additional Features and Functionality

2.19.1 Version

Release: 1.54
Date:      2015, December 29

2.19.2 Defects Fixed

2.19.3 Additional Features and Functionality

2.19.4 Security Advisory

2.19.5 Notes

If you have been using Serpent, you will need to either change to Tnepres, or take into account the fact that Serpent is now byte-swapped compared to what it was before.

2.20.1 Version

Release: 1.53
Date:      2015, October 10

2.20.2 Defects Fixed

2.20.3 Additional Features and Functionality

2.20.4 Notes

It turns out there was a similar, but different, issue in Crypto++ to the BC issue with ECIES. Crypto++ 6.0 now offers a corrected version of ECIES which is compatible with that which is now in BC.

2.21.1 Version

Release: 1.52
Date:      2015, March 2

2.21.2 Defects Fixed

2.21.3 Additional Features and Functionality

2.21.4 Security Advisory

2.22.1 Version

Release: 1.51
Date:      2014, July 28

2.22.2 Defects Fixed

2.22.3 Additional Features and Functionality

2.22.4 Notes

2.23.1 Version

Release: 1.50
Date:      2013, December 3

2.23.2 Defects Fixed

2.23.3 Additional Features and Functionality

2.23.4 Notes

2.24.1 Version

Release: 1.49
Date:      2013, May 31

2.24.2 Defects Fixed

2.24.3 Additional Features and Functionality

2.24.4 Notes

2.25.1 Version

Release: 1.48
Date:      2013, February 10

2.25.2 Defects Fixed

2.25.3 Additional Features and Functionality

2.26.1 Version

Release: 1.47
Date:      2012, March 30

2.26.2 Defects Fixed

2.26.3 Additional Features and Functionality

2.26.4 Other notes

Okay, so we have had to do another release. The issue we have run into is that we probably didn't go far enough in 1.46, but we are now confident that moving from this release to 2.0 should be largely just getting rid of deprecated methods. While this release does change a lot it is relatively straight forward to do a port and we have a porting guide which explains the important ones. The area there has been the most change in is the ASN.1 library which was in bad need of a rewrite after 10 years of patching. On the bright side the rewrite did allow us to eliminate a few problems and bugs in the ASN.1 library, so we have some hope anyone porting to it will also have similar benefits. As with 1.46 the other point of emphasis has been making sure interface support is available for operations across the major APIs, so the lightweight API or some local role your own methods can be used instead for doing encryption and signing.

2.27.1 Version

Release: 1.46
Date:      2011, February 23

2.27.2 Defects Fixed

2.27.3 Additional Features and Functionality

2.27.4 Other notes

Baring security patches we expect 1.46 will be the last of the 1.* releases. The next release of BC will be version 2.0. For this reason a lot of things in 1.46 that relate to CMS have been deprecated and new methods have been added to the CMS and certificate handling APIs which provide greater flexibility in how digest and signature algorithms get used. It is now possible to use the lightweight API or a simple custom API with CMS and for certificate generation. In addition a lot of methods and some classes that were deprecated for reasons of been confusing, or in some cases just plan wrong, have been removed.

So there are four things useful to know about this release:

2.28.1 Version

Release: 1.45
Date:      2010, January 12

2.28.2 Defects Fixed

2.28.3 Additional Features and Functionality

2.28.4 Security Advisory

2.29.1 Version

Release: 1.44
Date:      2009, October 9

2.29.2 Defects Fixed

2.29.3 Additional Features and Functionality

2.30.1 Version

Release: 1.43
Date:      2009, April 13

2.30.2 Defects Fixed

2.30.3 Security Advisory

2.31.1 Version

Release: 1.42
Date:      2009, March 16

2.31.2 Defects Fixed

2.31.3 Additional Features and Functionality

2.32.1 Version

Release: 1.41
Date:      2008, October 1

2.32.2 Defects Fixed

2.32.3 Additional Features and Functionality

2.33.1 Version

Release: 1.40
Date:      2008, July 12

2.33.2 Defects Fixed

2.33.3 Additional Features and Functionality

2.33.4 Additional Notes

2.34.1 Version

Release: 1.39
Date:      2008, March 29

2.34.2 Defects Fixed

2.34.3 Additional Features and Functionality

2.35.1 Version

Release: 1.38
Date:      2007, November 7

2.35.2 Defects Fixed

2.35.3 Additional Features and Functionality

2.36.1 Version

Release: 1.37
Date:      2007, June 15

2.36.2 Defects Fixed

2.36.3 Additional Features and Functionality

2.37.1 Version

Release: 1.36
Date:      2007, March 16

2.37.2 Defects Fixed

2.37.3 Additional Features and Functionality

2.38.1 Version

Release: 1.35
Date:      2006, December 16

2.38.2 Defects Fixed

2.38.3 Additional Features and Functionality

2.39.1 Version

Release: 1.34
Date:      2006, October 2

2.39.2 Defects Fixed

2.39.3 Additional Features and Functionality

2.39.4 Security Advisory

2.40.1 Version

Release: 1.33
Date:      2006, May 3

2.40.2 Defects Fixed

2.40.3 Additional Features and Functionality

2.41.1 Version

Release: 1.32
Date:      2006, March 27

2.41.2 Defects Fixed

2.41.3 Additional Features and Functionality

2.41.4 Possible compatibility issue

2.42.1 Version

Release: 1.31
Date:      2005, December 29

2.42.2 Defects Fixed

2.42.3 Additional Features and Functionality

2.43.1 Version

Release: 1.30
Date:      2005, September 18

2.43.2 Defects Fixed

2.43.3 Additional Features and Functionality

2.44.1 Version

Release: 1.29
Date:      2005, June 27

2.44.2 Defects Fixed

2.44.3 Additional Features and Functionality

2.44.4 Notes

2.45.1 Version

Release: 1.28
Date:      2005, April 20

2.45.2 Defects Fixed

2.45.3 Additional Features and Functionality

2.45.4 Notes

2.46.1 Version

Release: 1.27
Date:      2005, February 20

2.46.2 Defects Fixed

2.46.3 Additional Features and Functionality

2.46.4 Changes that may affect compatibility

2.47.1 Version

Release: 1.26
Date:      2005, January 15

2.47.2 Defects Fixed

2.47.3 Additional Features and Functionality

2.47.4 JDK 1.5 Changes

2.48.1 Version

Release: 1.25
Date:      2004, October 1

2.48.2 Defects Fixed

2.48.3 Additional Features and Functionality

2.49.1 Version

Release: 1.24
Date:      2004, June 12

2.49.2 Defects Fixed

2.49.3 Additional Features and Functionality

2.50.1 Version

Release: 1.23
Date:      2004, April 10

2.50.2 Defects Fixed

2.50.3 Additional Features and Functionality

2.51.1 Version

Release: 1.22
Date:      2004, February 7

2.51.2 Defects Fixed

2.51.3 Additional Features and Functionality

2.52.1 Version

Release: 1.21
Date:      2003, December 6

2.52.2 Defects Fixed

2.52.3 Additional Features and Functionality

2.53.1 Version

Release: 1.20
Date:      2003, October 8

2.53.2 Defects Fixed

2.53.3 Additional Features and Functionality

2.54.1 Version

Release: 1.19
Date:      2003, June 7

2.54.2 Defects Fixed

2.54.3 Additional Features and Functionality

2.55.1 Version

Release: 1.18
Date:      2003, February 8

2.55.2 Defects Fixed

2.55.3 Additional Features and Functionality

2.56.1 Version

Release: 1.17
Date:      2003, January 8

2.56.2 Defects Fixed

2.56.3 Additional Functionality and Features

2.57.1 Version

Release: 1.16
Date:      2002, November 30

2.57.2 Defects Fixed

2.57.3 Additional Functionality and Features

2.58.1 Version

Release: 1.15
Date:      2002, September 6

2.58.2 Defects Fixed

2.58.3 Additional Functionality and Features

2.59.1 Version

Release: 1.14
Date:      2002, June 17

2.59.2 Defects Fixed

2.59.3 Additional Functionality and Features

2.60.1 Version

Release: 1.13
Date:      2002, April 19

2.60.2 Defects Fixed

2.60.3 Additional Functionality and Features

2.61.1 Version

Release: 1.12
Date:      2002, February 8

2.61.2 Defects Fixed

2.61.3 Additional Functionality and Features

2.62.1 Version

Release: 1.11
Date:      2001, December 10

2.62.2 Defects Fixed

2.62.3 Additional Functionality and Features

2.62.4 Other changes

2.63.1 Version

Release: 1.10
Date:      2001, October 20

2.63.2 Defects Fixed

2.63.3 Additional Functionality and Features

2.64.1 Version

Release: 1.09
Date:      2001, October 6

2.64.2 Defects Fixed

2.64.3 Additional Functionality and Features

2.65.1 Version

Release: 1.08
Date:      2001, September 9

2.65.2 Defects Fixed

2.65.3 Additional Functionality and Features

2.66.1 Version

Release: 1.07
Date:      2001, July 9

2.66.2 Defects Fixed

2.67.1 Version

Release: 1.06
Date:      2001, July 2

2.67.2 Defects Fixed

2.67.3 Additional Functionality

2.68.1 Version

Release: 1.05
Date:      2001, April 17

2.68.2 Defects Fixed

2.68.3 Additional Functionality

2.68.4 Additional Notes

Concerning the PKCS12 fix: in a few cases this may cause some backward compatibility issues - if this happens to you, drop us a line at feedback-crypto@bouncycastle.org and we will help you get it sorted out.

2.69.1 Version

Release: 1.04
Date:      2001, March 11

2.69.2 Defects Fixed

2.69.3 Additional Functionality

2.70.1 Version

Release: 1.03
Date:      2001, January 7

2.70.2 Defects Fixed

2.70.1 Version

Release: 1.02
Date:      2000, November 7

2.70.2 Defects Fixed

2.70.1 Version

Release: 1.01
Date:      2000, October 15

2.70.2 Defects Fixed

2.71.1 Version

Release: 1.00
Date:      2000, October 13

2.71.2 Defects Fixed

2.71.3 Additional functionality

3.0 Notes

The J2ME is only supported under Windows.

If you are trying to use the lightweight provider in a JDK 1.0 applet, you need to change the package names for java.math.BigInteger, java.lang.IllegalStateException, and java.security.SecureRandom

The RSA test under JDK 1.0 and J2ME takes a while to run...