The following provides an overview of Bouncy Castle's capabilities and support, with relevant links to external standards and documentation.
Bouncy Castle Java supports the following formats and standards.
Supported Standard
External Reference
C509: CBOR Encoded X.509 Certificates
The following lists certifications with relevant links to certificates and documentation.
Type
Language
Version
External Reference
Documentation
FIPS 140-3
Java
2.1.1
FIPS 140-3
Java
2.0.0
FIPS 140-2
Java
1.0.2.4
FIPS 140-2
Java
1.0.2.3
1.0.2.2
1.0.2.1
FIPS 140-2
Java
1.0.1
FIPS 140-2
Java
1.0.0
FIPS 140-2
C#
1.0.2
FIPS 140-2
C#
1.0.1
For more information about the Bouncy Castle FIPS Java API and how it presents cryptography, refer to The Bouncy Castle FIPS Java API in 100 Examples and sample code at https://downloads.bouncycastle.org/fips-java/code/bc-fips-100-java.tar.gz and https://downloads.bouncycastle.org/fips-java/code/bc-fips-100-java.zip.
Bouncy Castle supports the following public key algorithm types and key size/curves.
Algorithm
External Reference
BLS12-381 signatures
Diffie-Hellman
DSA
FIPS PUB 186-4, RFC 6979
DSTU
DSTU 4145-2002
ECDSA/ECDH
X9.62, FIPS PUB 186-4, RFC 5639,
RFC 6979, SP 800-56A
EdDSA/XDH
ElGamal
RFC 4880
GOST
RFC 4490, RFC 7836
LMS/HSS
RFC 8554, RFC 8708
RSA
RFC 8017, FIPS PUB 186-4, SP 800-56B
SM2
RFC 8998
SM9
GM/T 0044-2016, GB/T 38635-2020
Bouncy Castle supports the following symmetric key algorithms.
Algorithm
External Reference
AES
FIPS PUB 197, RFC 3394, RFC 5649
ARIA
RFC 5794, RFC 5649
Ascon
CAESAR, NIST Lightweight Competition Finalist
Camellia
RFC 3713, RFC 3657
CAST 5
RFC 2144
CAST 6
RFC 2612
CHACHA-7359
RFC 7359
DSTU 7624
DSTU 7624:2014
GOST 28147
RFC 5830
GOST 3412-2015
RFC 7801
GRAIN
eSTREAM Project
HC
eSTREAM Project
LEA
ISO/IEC 29192-2:2019
RC2
RFC 2268, RFC 3217
RC5
RFC 2040
Salsa20
eSTREAM Project
SEED
RFC 4269
SM4
RFC 8998
TripleDES
FIPS PUB 46-3, RFC 3217
Bouncy Castle supports the following Message Digests and Expandable Output Functions (XOFs).
Algorithm
External Reference
Ascon (Hash, XOF)
NIST Lightweight Competition Finalist
Blake2
RFC 7693
Blake3
cSHAKE-128, cSHAKE-256
SP 800-185
Kangaroo
KMAC-128, KMAC-256
SP 800-185
MD5
RFC 1321
ParallelHash-128, ParallelHash-256
SP 800-185
RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320
SHA-1
FIPS PUB 180-4
SHA224, SHA256, SHA384, SHA512, SHA512/224, SHA512/256
FIPS PUB 180-4
SHAKE-128, SHAKE-256
FIPS PUB 202, RFC 8702
SHA3-224, SHA3-256, SHA3-384, SHA3-512
FIPS PUB 202
SM3
RFC 8998
Tiger
Project NESSIE
TupleHash-128, TupleHash-256
SP 800-185
Whirlpool
Project NESSIE, ISO/IEC 10118-3
The following algorithms are standardized and implemented.
Key Encapsulation Algorithm (KEM)
External Reference
ML-KEM
Signature Algorithm
External Reference
ML-DSA
SLH-DSA
LMS/HSS
XMSS, XMSS^MT
Hybrid OR Composite Algorithm
External Reference
Composite ML-DSA signatures
Composite ML-KEM
X-Wing
For further details on these algorithms, refer to NIST Post-Quantum Cryptography.
The post-quantum algorithms below have been submitted to the NIST and other PQC standardization processes. Apart from FrodoKEM and Classic McEliece, which ISO/IEC 18033-2:2006/Amd 2:2026 standardizes, none is yet standardized: they are available for experimenting and hybrid cryptography, but are unsuitable for long-term use until standardized.
Key Encapsulation Algorithms
Status
BIKE
NIST Round 4 candidate, not selected
Classic McEliece
Standardized in ISO/IEC 18033-2:2006/Amd 2:2026; NIST Round 4 candidate; no longer recommended by BSI, and likely to be deprecated
FrodoKEM
Standardized in ISO/IEC 18033-2:2006/Amd 2:2026; NIST Round 3 alternate candidate; recommended by BSI
HQC
Selected by NIST for standardization (NIST IR 8545)
NTRU
NIST Round 3 finalist, not selected
NTRU Prime (Streamlined NTRU Prime, NTRU LPRime)
NIST Round 3 alternate candidate, not selected
SABER
NIST Round 3 finalist, not selected
NTRU+, SMAUG-T
KpqC (Korean Post-Quantum Cryptography) competition
Signature Algorithm
Status
Falcon
Selected by NIST for standardization as FN-DSA (FIPS 206, in development)
MAYO, SNOVA, QR-UOV, UOV, FAEST, MQOM, SDitH, SQIsign
NIST additional digital signature candidates
AIMer, HAETAE
KpqC (Korean Post-Quantum Cryptography) competition
Bouncy Castle supports the following CRL formats and standards.
Supported Standard
External Reference
CRL creation and URL based CRL Distribution Points.
The following lists Certificate Enrollment Protocols and/or interfaces.
Protocol/Interface
External Reference
Documentation