News 25 May, 2023

Tech Update: Ensure Long Term Stability for your solution with Bouncy Castle’s new LTS release

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.

More about the Bouncy Castle LTS release

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

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.

Bouncy Castle LTS release

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.

Get access to the LTS release

You can find the BC Java LTS release at

What’s next

We do plan on doing a C# version later in 2023.