Slide 26
Slide 26 text
Bouncy Castle (BC)
https://www.bouncycastle.org/
Comprehensive PQC support ahead of the JDK.
BC 1.79 (the latest is 1.81) or later implement ML-KEM, ML-DSA, as well as SLH-DSA
(SPHINCS+), HQC, and Falcon.
Can use all NIST finalists (and some alternates) on Java 8, 11, 17, etc., via Bouncy Castle.
Integration via JCA Provider
To use BC’s PQC, register the provider and request algorithms by name and provider:
import java.security.Security ;
import org.bouncycastle.jce.provider.BouncyCastleProvider ;
Security.addProvider ( new BouncyCastleProvider ());
...
// The JCA will pick Bouncy Castle in the list
KeyPairGenerator kpg = KeyPairGenerator.getInstance ( "ML- DSA" , "BC" );