2023-05-25
Bouncy Castle (BC) is now happy to release its first BC Java LTS release and we have specified long-term to five (5) years, with the first four (4) years allowing for security and API updates and the last year allowing for security patches.
A Long Term Stable (LTS) release (also known as a “Long Term Support” release) is updated with only security fixes or backward-compatible enhancements. From an API user’s point of view, this greatly simplifies any testing that needs to be done in order to deploy an update of the LTS release to production.
Bouncy Castle (BC) is now happy to release its first BC Java LTS release and we have specified long-term to five (5) years, with the first four (4) years allowing for security and API updates and the last year allowing for security patches.
The BC LTS release is based on the BC 1.73 standard release. It is API compatible and unstable algorithms and APIs have been removed. It is distributed in the same way as the other BC APIs and is available for download at bouncycastle.org.
If you want a BC release with the stability of the FIPS releases without the restrictions that come with them, then the LTS release might be right for you. The LTS release significantly reduces the amount of work required to keep BC deployments up-to-date compared to the BC standard releases.
The LTS release also features a JNI layer allowing it to take advantage of some hardware accelerations for AES and SHA2 where available. The integrated use of hardware acceleration, particularly on more recent Intel CPUs can yield dramatic improvements in throughput as shown in the graph below for AES with GCM.
The plot shows AES-128 GCM, using 3 different Intel CPU profiles for native processing as well as the pure Java version In case you’re wondering, the sudden drops are due to garbage collection, but the overall change in performance is demonstrated by the fact that the scaling of the graph to fit the numbers has almost squashed the pure Java plot into the X axis.
As for the FIPS releases, support contracts are now available which offer access to ongoing work on the LTS release and opportunities for participation in the LTS development cycle. Support contract holders can also extend the LTS release update cycle beyond the public 5-year life cycle.
Read more about our support contract on the Keyfactor website.
You can find the BC Java LTS release at bouncycastle.org/lts-java.
We do plan on doing a C# version later in 2023.