Skip navigation links
Bouncy Castle Cryptography Library 1.72
ASN.1 Support Packages 
Package Description
org.bouncycastle.asn1
A library for parsing and writing ASN.1 objects.
org.bouncycastle.asn1.anssi
Support classes for the French ANSSI EC curves.
org.bouncycastle.asn1.bc
ASN.1 classes specific to the Bouncy Castle APIs.
org.bouncycastle.asn1.cryptlib  
org.bouncycastle.asn1.cryptopro
Support classes for CRYPTO-PRO related objects - such as GOST identifiers.
org.bouncycastle.asn1.edec  
org.bouncycastle.asn1.gm
Support classes for Chinese Standard (GM) standard curves and algorithms.
org.bouncycastle.asn1.gnu
ASN.1 classes specific to the GNU APIs and applications.
org.bouncycastle.asn1.iana
ASN.1 classes specific to the Internet Assigned Numbers Authority (IANA).
org.bouncycastle.asn1.isara  
org.bouncycastle.asn1.iso
Support classes for various ISO Standards.
org.bouncycastle.asn1.kisa
Support classes for the Korea Information Security Agency (KISA) standard - SEED algorithm.
org.bouncycastle.asn1.microsoft
Support for Microsoft specific ASN.1 classes and object identifiers.
org.bouncycastle.asn1.misc
Miscellaneous object identifiers and objects.
org.bouncycastle.asn1.mozilla
Support classes useful for encoding objects used by mozilla.
org.bouncycastle.asn1.nist
Support classes for NIST related objects.
org.bouncycastle.asn1.nsri
Support classes algorithms from the Korean National Security Research Institute.
org.bouncycastle.asn1.ntt
ASN.1 classes relevant to the standards produced by Nippon Telegraph and Telephone.
org.bouncycastle.asn1.ocsp
Support classes useful for encoding and supporting OCSP objects.
org.bouncycastle.asn1.oiw
Objects and OID for the support of ISO OIW.
org.bouncycastle.asn1.pkcs
Support classes useful for encoding and supporting the various RSA PKCS documents.
org.bouncycastle.asn1.rosstandart
Support classes algorithms from the Russian Federal Agency on Technical Regulating and Metrology - Rosstandart.
org.bouncycastle.asn1.sec
Classes for support of the SEC standard for Elliptic Curve.
org.bouncycastle.asn1.teletrust
Support classes for TeleTrust related objects.
org.bouncycastle.asn1.ua
Support classes for the Ukrainian DSTU standard.
org.bouncycastle.asn1.util
An ASN.1 dump utility.
org.bouncycastle.asn1.x500
Support classes for the creation and processing of object based on X.500 names.
org.bouncycastle.asn1.x500.style
Template classes for the common styles used for converting X.500 names to strings and back.
org.bouncycastle.asn1.x509
Support classes useful for encoding and processing X.509 certificates.
org.bouncycastle.asn1.x509.qualified
Support classes useful for encoding and processing messages based around RFC3739
org.bouncycastle.asn1.x509.sigi
Support classes for the German SigI (Signature Interoperability Specification) standard.
org.bouncycastle.asn1.x9
Support classes useful for encoding and supporting X9.62 elliptic curve.
JCA/JCE Provider 
Package Description
org.bouncycastle.jcajce.provider.asymmetric  
org.bouncycastle.jcajce.provider.asymmetric.dh  
org.bouncycastle.jcajce.provider.asymmetric.dsa  
org.bouncycastle.jcajce.provider.asymmetric.dstu  
org.bouncycastle.jcajce.provider.asymmetric.ec  
org.bouncycastle.jcajce.provider.asymmetric.ecgost  
org.bouncycastle.jcajce.provider.asymmetric.ecgost12  
org.bouncycastle.jcajce.provider.asymmetric.edec  
org.bouncycastle.jcajce.provider.asymmetric.elgamal  
org.bouncycastle.jcajce.provider.asymmetric.gost  
org.bouncycastle.jcajce.provider.asymmetric.ies  
org.bouncycastle.jcajce.provider.asymmetric.rsa  
org.bouncycastle.jcajce.provider.asymmetric.util  
org.bouncycastle.jcajce.provider.asymmetric.x509  
org.bouncycastle.jcajce.provider.config  
org.bouncycastle.jcajce.provider.digest  
org.bouncycastle.jcajce.provider.drbg  
org.bouncycastle.jcajce.provider.keystore  
org.bouncycastle.jcajce.provider.keystore.bc  
org.bouncycastle.jcajce.provider.keystore.bcfks  
org.bouncycastle.jcajce.provider.keystore.pkcs12  
org.bouncycastle.jcajce.provider.keystore.util  
org.bouncycastle.jcajce.provider.symmetric  
org.bouncycastle.jcajce.provider.symmetric.util  
org.bouncycastle.jcajce.provider.util  
org.bouncycastle.jce.provider  
JCA/JCE Utility and Extension Packages 
Package Description
org.bouncycastle.jcajce  
org.bouncycastle.jcajce.interfaces  
org.bouncycastle.jcajce.io  
org.bouncycastle.jcajce.spec  
org.bouncycastle.jcajce.util  
org.bouncycastle.jce
Utility classes for use with the JCE.
org.bouncycastle.jce.exception  
org.bouncycastle.jce.interfaces
Interfaces for supporting Elliptic Curve Keys, El Gamal, and PKCS12 attributes.
org.bouncycastle.jce.netscape  
org.bouncycastle.jce.spec
Parameter specifications for supporting El Gamal, and Elliptic Curve.
Lightweight Crypto Packages 
Package Description
org.bouncycastle.crypto
Base classes for the lightweight API.
org.bouncycastle.crypto.agreement
Basic key agreement classes.
org.bouncycastle.crypto.agreement.jpake
Support classes for Password Authenticated Key Exchange by Juggling (J-PAKE) key exchange.
org.bouncycastle.crypto.agreement.kdf
Support classes for KDF based key derivation functions.
org.bouncycastle.crypto.agreement.srp
Support classes for Secure Remote Password (SRP) protocol.
org.bouncycastle.crypto.commitments
Classes for supporting commitment calculation.
org.bouncycastle.crypto.constraints  
org.bouncycastle.crypto.digests
Message digest classes.
org.bouncycastle.crypto.ec
Utility classes for support Elliptic Curve cryptographic transforms.
org.bouncycastle.crypto.encodings
Block encodings for asymmetric ciphers.
org.bouncycastle.crypto.engines
Basic cipher classes.
org.bouncycastle.crypto.examples
Simple examples of light weight API usage.
org.bouncycastle.crypto.fpe  
org.bouncycastle.crypto.generators
Generators for keys, key pairs and password based encryption algorithms.
org.bouncycastle.crypto.io
Classes for doing "enhanced" I/O with Digests and MACs.
org.bouncycastle.crypto.kems
Key Encapsulation Mechanisms.
org.bouncycastle.crypto.macs
Classes for creating MACs and HMACs.
org.bouncycastle.crypto.modes
Modes for symmetric ciphers.
org.bouncycastle.crypto.modes.gcm
GCM mode support classes.
org.bouncycastle.crypto.modes.kgcm  
org.bouncycastle.crypto.paddings
Paddings for symmetric ciphers.
org.bouncycastle.crypto.params
Classes for parameter objects for ciphers and generators.
org.bouncycastle.crypto.parsers
Helper classes for parsing "on the wire" public keys.
org.bouncycastle.crypto.prng
Lightweight psuedo-random number generators and SecureRandom builders.
org.bouncycastle.crypto.prng.drbg
SP800-90A deterministic random bit generators, can be used stand alone or in conjunction with SP800SecureRandomBuilder class.
org.bouncycastle.crypto.signers
Basic signers.
org.bouncycastle.crypto.util
Some general utility/conversion classes.
Math and Utility Packages 
Package Description
org.bouncycastle.math
The Bouncy Castle math package.
org.bouncycastle.math.ec
Math support for Elliptic Curve.
org.bouncycastle.math.ec.custom.djb
Experimental implementation of curve25519.
org.bouncycastle.math.ec.custom.gm
Custom implementation of SM2 EC curve, SM2-P256V1.
org.bouncycastle.math.ec.custom.sec
Custom implementations of (most of) the curves over Fp from the SEC specification.
org.bouncycastle.math.ec.endo  
org.bouncycastle.math.ec.rfc7748  
org.bouncycastle.math.ec.rfc8032  
org.bouncycastle.math.ec.tools  
org.bouncycastle.math.field  
org.bouncycastle.math.raw
Math support for raw multi-precision calculations.
org.bouncycastle.util
General purpose utility classes used throughout the APIs.
org.bouncycastle.util.encoders
Classes for producing and reading Base64 and Hex strings.
org.bouncycastle.util.io
General purpose I/O helper classes and wrappers.
org.bouncycastle.util.io.pem
Classes for reading and writing raw PEM objects.
org.bouncycastle.util.test
Light weight test API.
Test Packages 
Package Description
org.bouncycastle.asn1.test
Test programs for the ASN.1 package.
org.bouncycastle.crypto.agreement.test  
org.bouncycastle.crypto.ec.test  
org.bouncycastle.crypto.prng.test  
org.bouncycastle.crypto.test
Example code and test classes for the lightweight API.
org.bouncycastle.crypto.test.cavp  
org.bouncycastle.jce.provider.test  
org.bouncycastle.jce.provider.test.nist  
org.bouncycastle.jce.provider.test.rsa3  
Post-Quantum Lightweight Crypto Packages 
Package Description
org.bouncycastle.pqc.crypto  
org.bouncycastle.pqc.crypto.bike  
org.bouncycastle.pqc.crypto.cmce  
org.bouncycastle.pqc.crypto.crystals.dilithium  
org.bouncycastle.pqc.crypto.crystals.kyber  
org.bouncycastle.pqc.crypto.falcon  
org.bouncycastle.pqc.crypto.frodo  
org.bouncycastle.pqc.crypto.hqc  
org.bouncycastle.pqc.crypto.lms  
org.bouncycastle.pqc.crypto.newhope
Low level implementation of the NewHope key exchange algorithm.
org.bouncycastle.pqc.crypto.ntru
The NTRU algorithm based on the round 3 submission of the NIST post-quantum cryptography.
org.bouncycastle.pqc.crypto.ntruprime  
org.bouncycastle.pqc.crypto.picnic  
org.bouncycastle.pqc.crypto.saber  
org.bouncycastle.pqc.crypto.sike  
org.bouncycastle.pqc.crypto.sphincs
Low level implementation of the SPHINCS-256 signature algorithm.
org.bouncycastle.pqc.crypto.sphincsplus  
org.bouncycastle.pqc.crypto.util  
org.bouncycastle.pqc.crypto.xmss
Low level implementation of the XMSS and XMSS^MT signature algorithms.
Post-Quantum ASN.1 Packages 
Package Description
org.bouncycastle.pqc.asn1
ASN.1 Support classes for PQC algorithms.
Post-Quantum Lightweight Math Packages 
Package Description
org.bouncycastle.pqc.math.linearalgebra  
org.bouncycastle.pqc.math.ntru
Contains the polynomial classes used in the NTRU round 3 algorithm.
org.bouncycastle.pqc.math.ntru.parameters  
org.bouncycastle.pqc.math.ntru.test  
Post-Quantum Provider 
Package Description
org.bouncycastle.pqc.jcajce.interfaces  
org.bouncycastle.pqc.jcajce.provider  
org.bouncycastle.pqc.jcajce.provider.bike  
org.bouncycastle.pqc.jcajce.provider.cmce  
org.bouncycastle.pqc.jcajce.provider.dilithium  
org.bouncycastle.pqc.jcajce.provider.falcon  
org.bouncycastle.pqc.jcajce.provider.frodo  
org.bouncycastle.pqc.jcajce.provider.gmss  
org.bouncycastle.pqc.jcajce.provider.hqc  
org.bouncycastle.pqc.jcajce.provider.kyber  
org.bouncycastle.pqc.jcajce.provider.lms  
org.bouncycastle.pqc.jcajce.provider.mceliece  
org.bouncycastle.pqc.jcajce.provider.newhope  
org.bouncycastle.pqc.jcajce.provider.ntru  
org.bouncycastle.pqc.jcajce.provider.ntruprime  
org.bouncycastle.pqc.jcajce.provider.picnic  
org.bouncycastle.pqc.jcajce.provider.qtesla  
org.bouncycastle.pqc.jcajce.provider.rainbow  
org.bouncycastle.pqc.jcajce.provider.saber  
org.bouncycastle.pqc.jcajce.provider.sike  
org.bouncycastle.pqc.jcajce.provider.sphincs  
org.bouncycastle.pqc.jcajce.provider.sphincsplus  
org.bouncycastle.pqc.jcajce.provider.util  
org.bouncycastle.pqc.jcajce.provider.xmss  
org.bouncycastle.pqc.jcajce.spec  
Post-Quantum Test Packages 
Package Description
org.bouncycastle.pqc.crypto.test  
org.bouncycastle.pqc.jcajce.provider.test  
Other Packages 
Package Description
org.bouncycastle.pqc.legacy.crypto.gmss  
org.bouncycastle.pqc.legacy.crypto.gmss.util  
org.bouncycastle.pqc.legacy.crypto.mceliece  
org.bouncycastle.pqc.legacy.crypto.ntru  
org.bouncycastle.pqc.legacy.crypto.qtesla  
org.bouncycastle.pqc.legacy.crypto.rainbow  
org.bouncycastle.pqc.legacy.crypto.rainbow.util  
org.bouncycastle.pqc.legacy.crypto.test  
org.bouncycastle.pqc.legacy.math.linearalgebra  
org.bouncycastle.pqc.legacy.math.ntru.euclid  
org.bouncycastle.pqc.legacy.math.ntru.euclid.test  
org.bouncycastle.pqc.legacy.math.ntru.polynomial  
org.bouncycastle.pqc.legacy.math.ntru.polynomial.test  
org.bouncycastle.pqc.legacy.math.ntru.util  
org.bouncycastle.pqc.legacy.math.ntru.util.test  
Skip navigation links
Bouncy Castle Cryptography Library 1.72