All Classes and Interfaces
Class
Description
This class provides some default behavior and common implementation for a
X500NameStyle.
The AccessDescription object.
AEAD wrapper backing
HPKEContext.seal(byte[], byte[])/HPKEContext.open(byte[], byte[]).An
AEADCipher based on a BlockCipher.A cipher mode that includes authenticated encryption with a streaming mode and optional associated data.
an implementation of the AES (Rijndael), from FIPS-197.
Deprecated.
unfortunately this class is has a few side channel issues.
an implementation of the AES (Rijndael), from FIPS-197.
an implementation of the AES Key Wrapper from the NIST Key Wrap
Specification.
Simple holder for affine field coordinates.
A
RuntimeException that carries several underlying exceptions rather than a single
cause - for example the complete set of problems found when reviewing a malformed structure,
where surfacing only the first would lose information.Implementation of the AIMer asymmetric key pair generator following the AIMer signature scheme specifications.
Common base for AIMer public and private key parameter classes; carries the
AIMerParameters parameter set the key belongs to.Parameter set for the AIMer PQC signature scheme (KpqC Round 2 submission).
Lightweight private key parameters for AIMer.
Lightweight public key parameters for AIMer.
Implementation of the AIMer digital signature scheme as specified in the AIMer documentation.
Factory methods for common AlgorithmIdentifiers.
Base interface for mapping from an alphabet to a set of indexes
suitable for use with FPE.
X.509 Section 9.8.3.
X.509 Section 9.8.4.
ANSSI Elliptic curve table.
Object Identifiers belong to the French Agency, ANSSI.
Argon2 PBKDF - Based on the results of https://password-hashing.net/ and https://www.ietf.org/archive/id/draft-irtf-cfrg-argon2-03.txt
A single 1024-byte memory block used by the Argon2 mixing function.
Strategy for allocating and recycling Argon2
Argon2BytesGenerator.Block objects.Bounded pool that recycles up to
maxBlocks Argon2BytesGenerator.Block objects.Configuration parameters for the
Argon2 PBKDF.Fluent builder for
Argon2Parameters.RFC 5794.
an implementation of the ARIA Key Wrapper from the NIST Key Wrap
Specification.
General array utilities.
Iterator backed by a specific array.
Ascon-AEAD128 was introduced in NIST Special Publication (SP) 800-232
Ascon-CXOF128 was introduced in NIST Special Publication (SP) 800-232
Deprecated.
use Ascon Hash 256 Digest
Deprecated.
Now superseded.
Ascon-Hash256 was introduced in NIST Special Publication (SP) 800-232
Deprecated.
Now superseded - please use AsconXof128
Ascon-XOF128 was introduced in NIST Special Publication (SP) 800-232
An ASN1 class that encodes to nothing, used in the OER library to deal with the Optional type.
Base class for BIT STRING objects
A basic parser for a BIT STRING object
ASN.1 BMPString object encodes BMP (Basic Multilingual Plane) subset
(aka UCS-2) of UNICODE (ISO 10646) characters in codepoints 0 to 65535.
Public facade of ASN.1 Boolean data.
Marker interface for CHOICE objects - if you implement this in a role your
own object any attempt to tag the object implicitly will convert the tag to
an explicit one as the encoding rules require.
Utility class for dumping ASN.1 objects as (hopefully) human friendly strings.
Basic interface to produce serialisers for ASN.1 encodings.
Mutable class for building ASN.1 constructed objects such as SETs or SEQUENCEs.
Supported encoding formats.
Class representing the ASN.1 ENUMERATED type.
Exception thrown in cases of corrupted or unexpected data in a stream.
Class representing the DER-type External
Parser DER EXTERNAL tagged objects.
Base class representing the ASN.1 GeneralizedTime type.
ASN.1 GENERAL-STRING data type.
Basic class for streaming generators.
ASN.1 IA5String object - this is a ISO 646 (ASCII) string encoding code points 0 to 127.
A general purpose ASN.1 decoder - note: this class differs from the
others in that it returns null after it has read the last object in
the stream.
Class representing the ASN.1 INTEGER type.
A NULL object - use DERNull.INSTANCE for populating structures.
NumericString object - this is an ascii string of characters {0,1,2,3,4,5,6,7,8,9, }.
Base class for defining an ASN.1 object.
Class representing the ASN.1 OBJECT IDENTIFIER type.
Abstract base for the ASN.1 OCTET STRING data type
A basic parser for an OCTET STRING object
Stream that produces output based on the default encoding for the passed in objects.
Exception thrown when correctly encoded, but unexpected data is found in a stream while building an object.
Base class for ASN.1 primitive objects.
ASN.1 PrintableString object.
ASN.1
SEQUENCE and SEQUENCE OF constructs.A basic parser for a SEQUENCE object
ASN.1
SET and SET OF constructs.A basic parser for a SET object
A parser for ASN.1 streams which also returns, where possible, parsers for the objects it encounters.
General interface implemented by ASN.1 STRING objects for extracting the content String.
ASN.1 T61String (also the teletex string), try not to use this if you don't need to.
ASN.1 TaggedObject - in ASN.1 notation this is any object preceded by
a [n] where n is some number - these are assumed to follow the construction
rules (as with sequences).
Interface for the parsing of a generic tagged ASN.1 object.
ASN.1 UniversalString object - encodes UNICODE (ISO 10646) characters using 32-bit format.
- * UTC time object.
ASN.1 VisibleString object encoding ISO 646 (ASCII) character code points 32 to 126.
base interface that a public/private key block cipher needs
to conform to.
a holding class for public/private parameter pairs.
interface that a public/private key pair generator should conform to.
Holding class for the AttributeTypeAndValue structures that make up an RDN.
The AuthorityInformationAccess object.
The AuthorityKeyIdentifier object.
Utility class for converting Base32 data to bytes and back again.
A streaming Base32 encoder.
Utility class for converting Base64 data to bytes and back again.
A streaming Base64 encoder.
Basic KDF generator for derived keys and ivs as defined by IEEE P1363a/ISO
18033
This implementation is based on ISO 18033/P1363a.
This implementation is based on ISO 18033/P1363a.
The basic interface that basic Diffie-Hellman implementations
conforms to.
A basic alphabet mapper that just creates a mapper based on the
passed in array of characters.
An EntropySourceProvider where entropy generation is based on a SecureRandom output using SecureRandom.generateSeed().
OCSP RFC 2560, RFC 6960
Object Identifiers belonging to iso.org.dod.internet.private.enterprise.legion-of-the-bouncy-castle (1.3.6.1.4.1.22554)
Core of password hashing scheme Bcrypt,
designed by Niels Provos and David Mazières,
corresponds to the C reference implementation.
Variation of BCStyle that insists on strict ordering for equality
and hashCode comparisons
BDS.
A parser for indefinite-length BIT STRINGs.
Base class for generators for indefinite-length structures.
ASN.1 OctetStrings, with indefinite length rules, and constructed form support.
A generator for indefinite-length OCTET STRINGs
A parser for indefinite-length OCTET STRINGs.
Indefinite length SEQUENCE of objects.
A stream generator for DER SEQUENCEs
Parser for indefinite-length SEQUENCEs.
Indefinite length
SET and SET OF constructs.Parser for indefinite-length SETs.
BER TaggedObject - in ASN.1 notation this is any object preceded by
a [n] where n is some number - these are assumed to follow the construction
rules (as with sequences).
BigInteger utilities.
The BiometricData object.
Schnorr signatures for secp256k1 per
BIP-340 (with the
BIP-340bis variable-length-message extension).
Basic bits of security constraint.
Implementation of the cryptographic hash function BLAKE2b.
Implementation of the cryptographic hash function BLAKE2s.
Implementation of the eXtendable Output Function (XOF) BLAKE2xs.
Blake3 implementation.
Bouncy implementation of Blake3Mac.
Blake3 Parameters.
Block cipher engines are expected to conform to this interface.
Block cipher padders are expected to conform to this interface
A class that provides Blowfish key encryption operations,
such as encoding data and generating keys.
Helper for aggregating BLS12-381 signatures and verifying aggregates.
BLS signatures BasicScheme over BLS12-381, per draft-irtf-cfrg-bls-signature
(variant: public keys in G1, signatures in G2; suite
BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_).Curve parameters for BLS12-381 G1, the prime-order subgroup of
E(Fp)
defined by y^2 = x^3 + 4 over Fp, as standardised in
draft-irtf-cfrg-bls-signature and RFC 9380 sec.CurveProcessor for the BLS12381G1_XMD:SHA-256_SSWU_RO_ hash-to-curve suite.
Map-to-curve implementation for the BLS12381G1_XMD:SHA-256_SSWU_RO_ suite
(RFC 9380 sec.
Curve parameters for BLS12-381 G2, the prime-order subgroup of
E(Fp^2) defined by y^2 = x^3 + 4 * (1 + I) over Fp^2.Implementation of the BLS12381G2_XMD:SHA-256_SSWU_RO_ hash-to-curve suite
(RFC 9380 sec.
Affine point on the BLS12-381 G2 curve
E: y^2 = x^3 + 4*(1+I) over
Fp^2.BLS signatures MessageAugmentation suite over BLS12-381, per
draft-irtf-cfrg-bls-signature: signature suite
BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_AUG_.Optimal ate pairing on BLS12-381: a bilinear, non-degenerate map
e: G1 x G2 -> GT where GT is the order-r subgroup of Fp^12 ^*.BLS signatures ProofOfPossession suite over BLS12-381, per
draft-irtf-cfrg-bls-signature: signature suite
BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_POP_ together with a
separate proof-of-possession message that uses the
BLS_POP_BLS12381G2_XMD:SHA-256_SSWU_RO_POP_ DST.Zcash-format compressed point serialization for BLS12-381 G1 and G2,
matching the encoding used by Zcash, Eth2, Filecoin, and the IETF
pairing-friendly-curves draft.
Fast subgroup-membership tests for BLS12-381 G1 and G2, replacing the
naive
[r] * P == 0 scalar multiplication (255-bit).Generates a BLS signature scheme keypair.
Family identifier for BLS signature schemes — currently the BLS12-381
pairing-friendly curve from
draft-irtf-cfrg-pairing-friendly-curves.Private-key parameters for a BLS signature scheme.
Public-key parameters for a BLS signature scheme.
Generic BLS12-381 signer implementing the BC
Signer interface.See https://www.bsi.bund.de/cae/servlet/contentblob/471398/publicationFile/30615/BSI-TR-03111_pdf.pdf
a buffer wrapper for an asymmetric block cipher, allowing input
to be accumulated in a piecemeal fashion until final processing.
A wrapper class that allows block ciphers to be used to process data in
a piecemeal fashion.
A buffering class to allow translation from one format to another to
be done in discrete chunks.
A buffering class to allow translation from one format to another to
be done in discrete chunks.
An output stream that buffers data to be feed into an encapsulated output stream.
Utility methods and constants for bytes.
Camellia - based on RFC 3713.
Camellia - based on RFC 3713, smaller implementation, about half the size of CamelliaEngine.
An implementation of the Camellia key wrapper based on RFC 3657/RFC 3394.
A class that provides CAST key encryption operations,
such as encoding data and generating keys.
A class that provides CAST6 key encryption operations,
such as encoding data and generating keys.
implements Cipher-Block-Chaining (CBC) mode on top of a simple cipher.
standard CBC Block Cipher MAC - if no padding is specified the default of
pad of zeroes is used.
Implements the Counter with Cipher Block Chaining mode (CCM) detailed in
NIST Special Publication 800-38C.
Deprecated.
use AEADParameters
RFC 5084: CCMParameters object.
The method used to retrieve a related certificate, as defined by
draft-ietf-lamps-certdiscovery (Certificate Discovery in PKIX).
an X509Certificate structure.
PKIX RFC-2459
The X.509 v2 CRL syntax is as follows.
This class helps to support crossCerfificatePairs in a LDAP directory
according RFC 2587
PKCS10 Certification request object.
PKCS10 CertificationRequestInfo object.
CertPolicyId, used in the CertificatePolicies and PolicyMappings
X509V3 Extensions.
implements a Cipher-FeedBack (CFB) mode on top of a simple cipher.
Implementation of Daniel J.
Implementation of Daniel J.
Interface for a converter that produces a byte encoding for a char array.
Factory methods for creating Cipher objects and CipherOutputStreams.
A CipherInputStream is composed of an InputStream and a cipher so that read() methods return data
that are read in from the underlying InputStream but have been additionally processed by the
Cipher.
IOException wrapper around an exception indicating a problem with the use of a cipher.The base class for symmetric, or secret, cipher key generators.
Factory methods for generating secret key generators for symmetric ciphers.
A CipherOutputStream is composed of an OutputStream and a cipher so that write() methods process
the written data with the cipher, and the output of the cipher is in turn written to the
underlying OutputStream.
all parameter classes implement this.
CMAC - as specified at www.nuee.nagoya-u.ac.jp/labs/tiwata/omac/omac.html
A non-NIST variant which allows passing of an IV to the underlying CBC cipher.
The Classic McEliece KEM as standardised in ISO/IEC 18033-2:2006/Amd 2:2026, Clause 13.
Parameter sets for the Classic McEliece KEM as standardised in ISO/IEC 18033-2:2006/Amd 2:2026,
Clause 13.
A simple collection backed store.
General holding class for a commitment.
General interface fdr classes that produce and validate commitments.
Deprecated.
the promoted implementation in org.bouncycastle.crypto.signers.lms keeps its encoding helpers internal; scheduled for removal with the rest of this package.
Generator for Concatenation Key Derivation Function defined in NIST SP 800-56A, Sect 5.8.1
Class, holding Cramer Shoup ciphertexts (u1, u2, e, v)
Essentially the Cramer-Shoup encryption / decryption algorithms according to
"A practical public key cryptosystem provably secure against adaptive chosen ciphertext attack." (Crypto 1998)
CS exception for wrong cipher-texts
a Cramer Shoup key pair generator
CRL Bag for PKCS#12
The CRLNumber object.
The CRLReason enumeration.
the foundation class for the hard exceptions thrown by the crypto packages.
GOST Algorithms OBJECT IDENTIFIERS :
{ iso(1) member-body(2) ru(643) rans(2) cryptopro(2)}
Permissions that need to be configured if a SecurityManager is used.
Basic registrar class for providing defaults for cryptography services in this module.
Available properties that can be set.
Customizable SHAKE function.
A SP800-90A CTR DRBG.
A Cipher Text Stealing (CTS) mode cipher.
Process curve specific functions
this exception is thrown if a buffer that is meant to have output
copied into it turns out to be too short, or if we've been given
insufficient input.
Exception thrown if an attempt is made to decode invalid data, or some other failure occurs.
A wrapper class that allows block ciphers to be used to process data in
a piecemeal fashion.
XMSSOid^MT class.
XMSSOid class.
DeltaCertificateDescriptor ::= SEQUENCE {
serialNumber CertificateSerialNumber,
signature [0] EXPLICIT AlgorithmIdentifier {SIGNATURE_ALGORITHM, {...}} OPTIONAL,
issuer [1] EXPLICIT Name OPTIONAL,
validity [2] EXPLICIT Validity OPTIONAL,
subject [3] EXPLICIT Name OPTIONAL,
subjectPublicKeyInfo SubjectPublicKeyInfo,
extensions [4] EXPLICIT Extensions{CertExtensions} OPTIONAL,
signatureValue BIT STRING
}
A BIT STRING with DER encoding - the first byte contains the count of padding bits included in the byte array's last byte.
DER BMPString object encodes BMP (Basic Multilingual Plane) subset
(aka UCS-2) of UNICODE (ISO 10646) characters in codepoints 0 to 65535.
Deprecated.
use ASN1Dump.
Exception thrown when an ASN.1 primitive cannot be serialized as DER - typically because
its in-memory contents do not satisfy the DER restrictions of X.690 (e.g.
Class representing the DER-type External
Parser DER EXTERNAL tagged objects.
DER Generalized time object.
ASN.1 GENERAL-STRING data type.
Basic class for streaming DER encoding generators.
DER IA5String object - this is a ISO 646 (ASCII) string encoding code points 0 to 127.
base interface for general purpose byte derivation functions.
Parameters for key/byte stream derivation classes
Builder and holder class for preparing SP 800-56A compliant MacData.
Builder to create OtherInfo
An ASN.1 DER NULL object.
DER NumericString object - this is an ascii string of characters {0,1,2,3,4,5,6,7,8,9, }.
Carrier class for a DER encoding OCTET STRING
Parser for DER encoded OCTET STRINGS
Builder and holder class for preparing SP 800-56A compliant OtherInfo.
Builder to create OtherInfo
DER PrintableString object.
Definite length SEQUENCE, encoding tells explicit number of bytes
that the content of this sequence occupies.
A stream generator for DER SEQUENCEs
A DER encoded SET object
DER T61String (also the teletex string), try not to use this if you don't need to.
DER TaggedObject - in ASN.1 notation this is any object preceded by
a [n] where n is some number - these are assumed to follow the construction
rules (as with sequences).
DER UniversalString object - encodes UNICODE (ISO 10646) characters using 32-bit format.
DER UTC time object.
DER UTF8String object.
DER VisibleString object encoding ISO 646 (ASCII) character code points 32 to 126.
a class that provides a basic DESede (or Triple DES) engine.
Wrap keys according to
RFC 3217.
a class that provides a basic DES engine.
a Diffie-Hellman key exchange engine.
a Diffie-Hellman key agreement class.
a basic Diffie-Hellman key pair generator.
Deprecated.
use DomainParameters
RFC 2631 Diffie-hellman KEK derivation function.
a Diffie-Hellman key pair generator.
X9.42 definition of a DHPublicKey
Standard Diffie-Hellman groups from various IETF specifications.
FFC Unified static/ephemeral agreement as described in NIST SP 800-56A.
Parameters holder for private unified static/ephemeral agreement as described in NIST SP 800-56A.
Parameters holder for static/ephemeral agreement as described in NIST SP 800-56A.
Deprecated.
use ValidationParams
interface that a message digest conforms to.
base interface for general purpose Digest based byte derivation functions.
Basic factory class for message digests.
The DigestInfo object.
Implements the sign and verify functions for a Signature Scheme using a hash function to allow processing of large messages.
Implements the sign and verify functions for a Signature Scheme using a hash function to allow processing of large messages.
Random generation based on the digest with counter.
The DirectoryString CHOICE object.
DisplayText class, used in
CertificatePolicies X509 V3 extensions (in policy qualifiers).The DistributionPoint object.
The DistributionPointName object.
A Definite length BIT STRING
Parser for a DL encoded BIT STRING.
Class representing the Definite-Length-type External
Base class for stream generators for definite-length structures.
A stream generator for definite-length (primitive) OCTET STRINGs.
The DLSequence encodes a SEQUENCE using definite length form.
A stream generator for definite-length SEQUENCEs.
Parser class for DL SEQUENCEs.
The DLSet encodes ASN.1 SET value without element ordering,
and always using definite length form.
Parser class for DL SETs.
Definite Length TaggedObject - in ASN.1 notation this is any object preceded by
a [n] where n is some number - these are assumed to follow the construction
rules (as with sequences).
X9.44 Diffie-Hellman domain parameters.
interface for classes implementing algorithms modeled similar to the Digital Signature Alorithm.
An interface for different encoding formats for DSA signatures.
An "extended" interface for classes implementing DSA-style algorithms, that provides access to
the group order.
Interface define calculators of K values for DSA/ECDSA.
a DSA key pair generator.
Generate suitable parameters for DSA, in line with FIPS 186-2, or FIPS 186-3.
The Digital Signature Algorithm - as described in "Handbook of Applied
Cryptography", pages 452 - 453.
DSTU4145 encodes points somewhat differently than X9.62
It compresses the point to the size of the field element
DSTU 4145-2002
Reference implementation of national ukrainian standard of hashing transformation DSTU7564.
Implementation of DSTU7564 MAC mode
Implementation of DSTU7624 MAC mode.
Implementation of DSTU7624 KEY WRAP mode
General class for providing point pairs for use with DualEC DRBG.
A SP800-90A Dual EC DRBG.
German Federal Office for Information Security
(Bundesamt für Sicherheit in der Informationstechnik)
https://www.bsi.bund.de/
A Two-Pass Authenticated-Encryption Scheme Optimized for Simplicity and
Efficiency - by M.
Scalar multiplication of a variable point by a secret scalar, without leaking the scalar
through control flow or memory-access pattern.
Parameters for ECCSI key generation.
A key pair generator for the ECCSI scheme (Elliptic Curve-based Certificateless Signatures
for Identity-based Encryption) as defined in RFC 6507.
Represents the private key parameters for the Elliptic Curve-based Certificateless
Signature Infrastructure (ECCSI) scheme as defined in RFC 6507.
Represents the public key parameters for the Elliptic Curve-based Certificateless
Signature Infrastructure (ECCSI) scheme as defined in RFC 6507.
Implementation of Elliptic Curve-based Certificateless Signatures for Identity-Based Encryption (ECCSI)
as defined in RFC 6507.
base class for an elliptic curve
Elliptic curves over F2m.
Elliptic curve over Fp
P1363 7.2.1 ECSVDP-DH
ECSVDP-DH is Elliptic Curve Secret Value Derivation Primitive,
Diffie-Hellman version.
P1363 7.2.2 ECSVDP-DHC
ECSVDP-DHC is Elliptic Curve Secret Value Derivation Primitive,
Diffie-Hellman version with cofactor multiplication.
EC Unified static/ephemeral agreement as described in NIST SP 800-56A using EC co-factor Diffie-Hellman.
X9.63 based key derivation function for ECDH CMS.
Parameters holder for private unified static/ephemeral agreement as described in NIST SP 800-56A.
Parameters holder for public unified static/ephemeral agreement as described in NIST SP 800-56A using EC DH/CDH.
EC-DSA as described in X9.62
this does your basic decryption ElGamal style using EC
this does your basic ElGamal encryption algorithm using EC
Class representing the Elements of the finite field
F2m in polynomial basis (PB)
representation.this transforms the original randomness used for an ElGamal encryption by a fixed value.
Deprecated.
Use
ECGOST3410Signer instead.table of the available named parameters for GOST 3410-2001 / 2012.
GOST R 34.10-2001 and GOST R 34.10-2012 Signature Algorithm
The ECIES Key Encapsulation Mechanism (ECIES-KEM) from ISO 18033-2.
The ECIES Key Encapsulation Mechanism (ECIES-KEM) from ISO 18033-2.
Deprecated.
use ECIESKEMGenerator, ECIESKEMExtractor
A pre-computed elliptic curve over a prime field, in short-Weierstrass form for use during an EC J-PAKE exchange.
Standard pre-computed elliptic curves for use by EC J-PAKE.
A participant in a Password Authenticated Key Exchange by Juggling (J-PAKE) exchange.
The payload sent/received during the first round of a EC J-PAKE exchange.
The payload sent/received during the second round of a EC J-PAKE exchange.
The payload sent/received during the optional third round of a EC J-PAKE exchange,
which is for explicit key confirmation.
Primitives needed for a EC J-PAKE exchange.
Interface for classes encapsulating a point multiplication algorithm
for
ECPoints.A general class that reads all X9.62 style EC curve tables.
this does your basic Elgamal encryption algorithm using EC
this transforms the original randomness used for an ElGamal encryption.
EC-NR as described in IEEE 1363-2000 - a signature algorithm for Elliptic Curve which
also offers message recovery.
base class for points on elliptic curves.
Elliptic curve points over F2m
Elliptic curve points over Fp
the elliptic curve private key object from SEC 1
Deprecated.
use ECPrivateKey
Package protected class containing zero knowledge proof, for an EC J-PAKE exchange.
Schnorr non-interactive zero-knowledge proof over an elliptic curve, as used in the Owl key
exchange.
GOST VKO key agreement class - RFC 7836 Section 4.3
A low-level implementation of the Ed25519, Ed25519ctx, and Ed25519ph instantiations of the Edwards-Curve
Digital Signature Algorithm specified in RFC 8032.
Methods that work with expanded format for private keys (xk/xkOff) i.e.
A low-level implementation of the Ed448 and Ed448ph instantiations of the Edwards-Curve Digital Signature
Algorithm specified in RFC 8032.
Edwards Elliptic Curve Object Identifiers (RFC 8410)
EDIPartyName ::= Sequence {
nameAssigner [0] DirectoryString OPTIONAL,
partyName [1] DirectoryString }
Elephant AEAD v2, based on the current round 3 submission, https://www.esat.kuleuven.be/cosic/elephant/
Reference C implementation: https://github.com/TimBeyne/Elephant
Specification: https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/elephant-spec-final.pdf
this does your basic ElGamal algorithm.
a ElGamal key pair generator.
Implements the Elligator 2 Map to curve according to section 6.7.1 of RFC 9380 This is the
straight-line implementation optimized for Montgomery curves as defined in section F.3.
Interface implemented by objects that can be converted into byte arrays.
Encodable digests allow you to download an encoded copy of their internal state.
Encodable services allow you to download an encoded copy of their internal state.
Encode and decode byte arrays (typically from binary to 7-bit ASCII
encodings).
Exception thrown if an attempt is made to encode invalid data, or some other failure occurs.
The EncryptedData object.
EncryptedObjectStoreData ::= SEQUENCE {
encryptionAlgorithm AlgorithmIdentifier
encryptedContent OCTET STRING
}
EncryptedPrivateKeyObjectData ::= SEQUENCE {
encryptedPrivateKeyInfo EncryptedPrivateKeyInfo,
certificates SEQUENCE OF Certificate
}
EncryptedSecretKeyData ::= SEQUENCE {
keyEncryptionAlgorithm AlgorithmIdentifier,
encryptedKeyData OCTET STRING
}
Base interface describing an entropy source for a DRBG.
Utility methods for making use of EntropySources.
Support class for constructing integrated encryption ciphers for doing basic message exchanges on top of key
agreement ciphers.
Basic KDF generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033
This implementation is based on ISO 18033/P1363a.
This implementation is based on ISO 18033/P1363a.
Pair for a value exchange algorithm where the responding party has no private key, such as NewHope.
Interface for NewHope style key material exchange generators.
Exception thrown by a stateful signature algorithm when the private key counter is exhausted.
Deprecated.
use org.bouncycastle.crypto.ExhaustedPrivateKeyException instead.
The extendedKeyUsage object.
an object for the elements in the X.509 V3 extension block.
Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
Extension ::= SEQUENCE {
extnId EXTENSION.&id ({ExtensionSet}),
critical BOOLEAN DEFAULT FALSE,
extnValue OCTET STRING }
Generator for X.509 extensions
Based on External Keys And Signatures For Use In Internet PKI
draft-ounsworth-pq-external-pubkeys-00
Implementation of the FAEST asymmetric key pair generator following the FAEST
signature scheme specifications.
FAEST parameter sets per the v2.0 algorithm specification.
FAEST private key: encoded as
owfInput || owfKey (matching the upstream
SK_INPUT || SK_KEY layout).FAEST public key: encoded as
owfInput || owfOutput.FAEST signature generation and verification engine.
ASN.1 Encoding for a
FALCON private key for fully populated:
Classic McEliece Public Key Format.
Basic 20 byte finger print class.
Class holding precomputation data for fixed-point multiplications.
A secure random that returns pre-seeded data to calls of nextBytes() or generateSeed().
A secure random that returns pre-seeded data to calls of nextBytes() or generateSeed().
BigInteger Source - in this case we expect requests for data that will be used
for BigIntegers.
Data Source - in this case we just expect requests for byte arrays.
Base class for sources of fixed "Randomness"
Element of F_p12 = F_p4[w]/(w^3 - v), i.e.
Immutable element of
Fp^12 = Fp^6[w] / (w^2 - v), the outer level
of the BLS12-381 pairing field tower.Immutable element of
Fp^2 = Fp[I] / (I^2 + 1), used as the base
field of BLS12-381 G2.Immutable element of
Fp^6 = Fp^2[v] / (v^3 - (1 + I)), the cubic
extension of Fp2Element used as the inner level of the BLS12-381
pairing field tower.Base class for format-preserving encryption.
NIST SP 800-38G, FF1 format preserving encryption.
NIST SP 800-38G, FF3-1 format preserving encryption.
FrodoKEM as standardised in ISO/IEC 18033-2:2006/Amd 2:2026, Clause 14, for the SHAKE parameter
sets at security levels 976 and 1344.
Parameter sets for FrodoKEM as standardised in ISO/IEC 18033-2:2006/Amd 2:2026, Clause 14.
An implementation of the CBC mode for GOST 3412 2015 cipher.
An implementation of the CFB mode for GOST 3412 2015 cipher.
implements the GOST 3412 2015 CTR counter mode (GCTR).
An implementation of the OFB mode for GOST 3412 2015 cipher.
An implementation of the GOST CFB mode with CryptoPro key meshing as described in RFC 4357.
Implements the Galois/Counter mode (GCM) detailed in
NIST Special Publication 800-38D.
RFC 5084: GCMParameters object.
GCM-SIV Mode.
base implementation of MD4 family style digest as outlined in
"Handbook of Applied Cryptography", pages 344 - 347.
A basic hash-committer based on the one described in "Making Mix Nets Robust for Electronic Voting by Randomized Partial Checking",
by Jakobsson, Juels, and Rivest (11th Usenix Security Symposium, 2002).
The GeneralName object.
Class for containing a restriction object subtrees in NameConstraints.
Generic implementation of the sqrt_ratio(u, v) operation defined in RFC 9380.
Deprecated.
moved to
GF16; this type now
delegates there and will be removed in a future release.Constant-time GF(2^8) primitives over the AES reduction polynomial
x^8 + x^4 + x^3 + x + 1 (0x11b).
GIFT-COFB v1.1, based on the current round 3 submission, https://www.isical.ac.in/~lightweight/COFB/
Reference C implementation: https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-submissions/elephant.zip
Specification: https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/gift-cofb-spec-final.pdf
The GMAC specialisation of Galois/Counter mode (GCM) detailed in NIST Special Publication
800-38D.
Chinese standard GM named curves.
GNU project OID collection
implements the GOST 28147 OFB counter mode (GCTR).
Gost28147-89-EncryptedKey ::= SEQUENCE {
encryptedKey Gost28147-89-Key,
maskKey [0] IMPLICIT Gost28147-89-Key
OPTIONAL,
macKey Gost28147-89-MAC
}
implementation of GOST 28147-89
implementation of GOST 28147-89 MAC
ASN.1 algorithm identifier parameters for GOST-28147
a GOST3410 key pair generator.
table of the available named parameters for GOST 3410-94.
generate suitable parameters for GOST3410.
GOST R 34.10-94 Signature Algorithm
implementation of GOST R 34.11-2012 256-bit
implementation of GOST R 34.11-2012 512-bit
Base class for GOST3411-2012 256-bit and GOST3411-2012 512-bit digests.
implementation of GOST R 34.11-94
Implementation of GOST 3412 2015 (aka "Kuznyechik") RFC 7801, GOST 3412
GostR3410-KeyTransport ::= SEQUENCE {
sessionEncryptedKey Gost28147-89-EncryptedKey,
transportParameters
[0] IMPLICIT GostR3410-TransportParameters OPTIONAL
}
GostR3410-TransportParameters ::= SEQUENCE {
encryptionParamSet OBJECT IDENTIFIER,
ephemeralPublicKey [0] IMPLICIT SubjectPublicKeyInfo OPTIONAL,
ukm OCTET STRING
}
Grain-128 AEAD, based on the current round 3 submission, https://grain-128aead.github.io/
Implementation of Martin Hell's, Thomas Johansson's and Willi Meier's stream
cipher, Grain-128.
Implementation of Martin Hell's, Thomas Johansson's and Willi Meier's stream
cipher, Grain v1.
BSI Key Derivation Function Parameters for Session Keys (see BSI-TR-03111 Section 4.3.3)
BSI Key Derivation Function for Session Keys (see BSI-TR-03111 Section 4.3.3)
Utility functions for hash 2 curve
Common base for HAETAE public and private key parameter classes; carries
the
HAETAEParameters parameter set the key belongs to.Parameters for the HAETAE signature scheme (Modes 2, 3, and 5).
Lightweight private key parameters for HAETAE.
Lightweight public key parameters for HAETAE.
Haraka-256 v2, https://eprint.iacr.org/2016/098.pdf
Haraka-512 v2, https://eprint.iacr.org/2016/098.pdf
Base class for Haraka v2, https://eprint.iacr.org/2016/098.pdf
A basic hash-committer as described in "Making Mix Nets Robust for Electronic Voting by Randomized Partial Checking",
by Jakobsson, Juels, and Rivest (11th Usenix Security Symposium, 2002).
Pre-hash ("HashML-DSA" / "ExtHash") ML-DSA (FIPS 204) signer/verifier.
SLH-DSA signer.
A SP800-90A Hash DRBG.
Supported profiles for instantiating an instance of HashToEllipticCurve.
Main class for implementing hash to elliptic curve according to RFC 9380
Generic implementation of hash to field
Key generation parameters for Hawk.
Lightweight Hawk key pair generator.
Common base for Hawk public and private key parameter classes; carries the
HawkParameters parameter set the key belongs to.Parameter set for the Hawk PQC signature scheme.
Lightweight private key parameters for Hawk.
Lightweight public key parameters for Hawk.
Lightweight Hawk signer / verifier.
HC-128 is a software-efficient stream cipher created by Hongjun Wu.
HC-256 is a software-efficient stream cipher created by Hongjun Wu.
Utility class for converting hex data to bytes and back again.
A streaming Hex encoder.
Converters for going from hex to binary and back.
HMAC-based Extract-and-Expand Key Derivation Function (HKDF) implemented
according to IETF RFC 5869, May 2010 as specified by H.
Parameter class for the HKDFBytesGenerator class.
HMAC implementation based on RFC2104
H(K XOR opad, H(K XOR ipad, text))
A deterministic K calculator based on the algorithm in section 3.2 of RFC 6979.
A SP800-90A HMAC DRBG.
The Holder object.
Hybrid Public Key Encryption (HPKE) per
RFC 9180.
An HPKE encryption / decryption context produced by one of the
HPKE.setup*R (recipient) factory methods, or — via the
HPKEContextWithEncapsulation subclass — by one of the
HPKE.setup*S (sender) factories.Sender-side
HPKEContext that additionally carries the enc
octet string produced by the KEM's encapsulation step.Polynomial class for HPS parameters with q = 4096
Deprecated.
use
HSSKeyGenerationParameters instead.Deprecated.
use
HSSKeyPairGenerator instead.Deprecated.
use
HSSPrivateKeyParameters instead.Deprecated.
use
HSSPublicKeyParameters instead.Deprecated.
use
HSSSigner instead.HTML Filter
IANA:
{ iso(1) identifier-organization(3) dod(6) internet(1) } == IETF defined things
A class that provides a basic International Data Encryption Algorithm (IDEA) engine.
Support class for constructing integrated encryption ciphers
for doing basic message exchanges on top of key agreement ciphers.
parameters for using an integrated cipher in stream mode.
Implementation of
IetfAttrSyntax as specified by RFC3281.Interface implemented by objects that can be converted from streaming to in-memory objects.
Utility methods and constants for ints.
this exception is thrown whenever we find something we don't expect in a
message.
IOException wrapper around an exception indicating an invalid ciphertext, such as in
authentication failure during finalisation of an AEAD cipher.Utility methods for processing String objects containing IP addresses.
Implementation of Bob Jenkin's ISAAC (Indirection Shift Accumulate Add and Count).
ISAP Hash v2, https://isap.iaik.tugraz.at/
https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/isap-spec-final.pdf
ISAP AEAD v2, https://isap.iaik.tugraz.at/
https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/isap-spec-final.pdf
ISISMT -- Industrial Signature Interoperability Specification
A padder that adds ISO10126-2 padding to a block.
parameters for Key derivation functions for ISO-18033
The Iso4217CurrencyCode object.
A padder that adds the padding according to the scheme referenced in
ISO 7814-4 - scheme 2 from ISO 9797-1.
ISO 9796-1 padding.
ISO9796-2 - mechanism using a hash function with recovery (scheme 2 and 3).
ISO9796-2 - mechanism using a hash function with recovery (scheme 1)
DES based CBC Block Cipher MAC according to ISO9797, algorithm 3 (ANSI X9.19 Retail MAC)
This could as well be derived from CBCBlockCipherMac, but then the property mac in the base
class must be changed to protected
OIDS from ISO/IEC 10118-3:2004 and ISO/IEC 18033-2:2006/Amd 2:2026
IssuingDistributionPoint ::= SEQUENCE {
distributionPoint [0] DistributionPointName OPTIONAL,
onlyContainsUserCerts [1] BOOLEAN DEFAULT FALSE,
onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE,
onlySomeReasons [3] ReasonFlags OPTIONAL,
indirectCRL [4] BOOLEAN DEFAULT FALSE,
onlyContainsAttributeCerts [5] BOOLEAN DEFAULT FALSE }
Utility class to allow use of Iterable feature in JDK 1.5+
JournaledAlgorithm keeps state of the JournalingSecureRandom and the
AlgorithmIdentifier necessary to fully resume an encryption session.
A SecureRandom that maintains a journal of its output.
A participant in a Password Authenticated Key Exchange by Juggling (J-PAKE) exchange.
A pre-computed prime order group for use during a J-PAKE exchange.
Standard pre-computed prime order groups for use by J-PAKE.
The payload sent/received during the first round of a J-PAKE exchange.
The payload sent/received during the second round of a J-PAKE exchange.
The payload sent/received during the optional third round of a J-PAKE exchange,
which is for explicit key confirmation.
Primitives needed for a J-PAKE exchange.
Kangaroo.
Kangaroo Parameters.
Parameter Builder.
KangarooTwelve.
MarsupilamiFourteen.
Implementation of DSTU7624 CCM mode.
Implementation of DSTU7624 CTR mode
KDF1 generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033
This implementation is based on ISO 18033/IEEE P1363a.
This implementation is based on ISO 18033/IEEE P1363a.
KDF2 generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033
This implementation is based on IEEE P1363/ISO 18033.
This implementation is based on IEEE P1363/ISO 18033.
This KDF has been defined by the publicly available NIST SP 800-108 specification.
This KDF has been defined by the publicly available NIST SP 800-108 specification.
This KDF has been defined by the publicly available NIST SP 800-108 specification.
Note that counter is only supported at the location presented in the
NIST SP 800-108 specification, not in the additional locations present
in the CAVP test vectors.
This KDF has been defined by the publicly available NIST SP 800-108 specification.
Note that counter is only supported at the location presented in the
NIST SP 800-108 specification, not in the additional locations present
in the CAVP test vectors.
parameters for Key derivation functions for IEEE P1363a
implementation of Keccak based on following KeccakNISTInterface.c from https://keccak.noekeon.org/
Abstract base for HPKE Key Encapsulation Mechanisms per
RFC 9180 §4.
Deprecated.
The base class for parameters to key generators.
The KeyPurposeId object.
ASN.1 def for Diffie-Hellman key exchange KeySpecificInfo structure.
The KeyUsage object.
Implementation of DSTU7624 GCM mode.
Utilities for the GF(2^m) field with corresponding extension polynomial:
Utilities for the GF(2^m) field with corresponding extension polynomial:
Utilities for the GF(2^m) field with corresponding extension polynomial:
The GMAC specialisation of Galois/Counter mode (GCM) detailed in NIST Special Publication
800-38D as adapted for the Kalyna version of GCM.
Korea Information Security Agency (KISA)
({iso(1) member-body(2) kr(410) kisa(200004)})
KMAC - MAC with optional XOF mode.
KMACwithSHAKE128-params ::= SEQUENCE {
kMACOutputLength INTEGER DEFAULT 256, -- Output length in bits
customizationString OCTET STRING DEFAULT ''H
}
KMACwithSHAKE256-params ::= SEQUENCE {
kMACOutputLength INTEGER DEFAULT 512, -- Output length in bits
customizationString OCTET STRING DEFAULT ''H
}
Implementation of DSTU7624 XTS mode
LEA Cipher engine.
Legacy bits of security constraint.
The Bouncy Castle License
Copyright (c) 2000-2023 The Legion Of The Bouncy Castle Inc.
Extension to tie an alternate certificate to the containing certificate.
Deprecated.
use
LMOtsParameters instead.The digest an LMS or HSS message is absorbed into before it is signed or verified, carrying the
one-time key or signature the operation will use.
Deprecated.
use
instead.
invalid reference
org.bouncycastle.crypto.signers.LMSContext
Deprecated.
use
LMSContextBasedSigner instead.Deprecated.
use
LMSContextBasedVerifier instead.The LMS and HSS operations of RFC 8554 that the key parameter classes in
org.bouncycastle.crypto.params and the key pair generators in
org.bouncycastle.crypto.generators call into.Deprecated.
use
LMSigParameters instead.Deprecated.
use
LMSKeyGenerationParameters instead.Deprecated.
use
LMSKeyPairGenerator instead.Deprecated.
use
LMSKeyParameters instead.Deprecated.
use
LMSParameters instead.Deprecated.
use
LMSPrivateKeyParameters instead.Deprecated.
use
LMSPublicKeyParameters instead.An LMS signature (RFC 8554 sec.
Deprecated.
use
LMSSigner instead.ASN.1 uses an EN locale for its internal formatting.
Base class for all Exceptions with localized messages.
Base class for SHA-384 and SHA-512.
Utility methods and constants for longs.
The base interface for implementations of message authentication codes (MACs).
base interface for general purpose Mac based byte derivation functions.
Interface for Map to Curve
this exception is thrown whenever a cipher requires a change of key, iv
or similar after x amount of bytes enciphered
Implementation of the MAYO asymmetric key pair generator following the MAYO signature scheme specifications.
Implementation of the MAYO digital signature scheme as specified in the MAYO documentation.
implementation of MD2
as outlined in RFC1319 by B.Kaliski from RSA Laboratories April 1992
implementation of MD4 as RFC 1320 by R.
implementation of MD5 as outlined in "Handbook of Applied Cryptography", pages 346 - 347.
Interface for Memoable objects.
Exception to be thrown on a failure to reset an object implementing Memoable.
Base interface for a PQC encryption algorithm.
The MessageExpansion interface defines a contract for expanding a message.
Base interface for a PQC signing algorithm.
Generator for MGF1 as defined in PKCS 1v2
parameters for mask derivation functions.
Microsoft
Lightweight ML-DSA (FIPS 204) engine — key generation, signing and verification.
ML-DSA (FIPS 204) signer/verifier.
Modular inversion as implemented in this class is based on the paper "Fast constant-time gcd
computation and modular inversion" by Daniel J.
The MonetaryValue object.
Curve processor for Montgomery curves of the form B * y^2 = x^3 + A * x^2 + x
Internally we treat this as a long Weierstrass curve y^2 = x^3 + a2 * x^2 + a4 * x + a6 with a2 =
A / B, a4 = 1 / B, a6 = 0.
Parameter set descriptors for MQOM v2.1 ("MQ on my Mind").
MQOM v2.1 lightweight signer.
ASN.1 structure for the
id-pe-mtcCertificationAuthority extension
defined in Section 5.5 of draft-ietf-plants-merkle-tree-certs:OID constants used by the experimental encoding of Merkle Tree Certificates
(draft-ietf-plants-merkle-tree-certs).
Base interface for a cipher engine capable of processing multiple blocks at a time.
NaccacheStern Engine.
Parameters for NaccacheStern public private key generation.
Key generation parameters for NaccacheStern cipher.
Public key parameters for NaccacheStern cipher.
Private key parameters for NaccacheStern cipher.
Structure for a name or pseudonym.
The NetscapeCertType object.
OtherInfo Generator for which can be used for populating the SuppPrivInfo field used to provide shared
secret data used with NIST SP 800-56A agreement algorithms.
Party U (initiator) generation.
Party V (responder) generation.
A processor with associated builders for doing secret key transformation using
the New Hope algorithm.
Party U (initiator) processor builder.
Party V (responder) processor builder.
A Cipher Text Stealing (CTS) mode cipher.
Curve processor for NIST curves (P-256, P-384, P-521) where the cofactor is 1.
Utility class for fetching curves using their NIST names as published in FIPS-PUB 186-3
NIST:
iso/itu(2) joint-assign(16) us(840) organization(1) gov(101) csor(3)
A Noekeon engine, using direct-key mode.
Wrapper removes exposure to the Memoable interface on an ExtendedDigest implementation.
NoticeReference class, used in
CertificatePolicies X509 V3 extensions
(in policy qualifiers).NTRU-HPS parameter set with n = 509 and q = 2048.
NTRU-HPS parameter set with n = 677 and q = 2048.
NTRU-HPS parameter set with n = 1229 and q = 4096.
NTRU-HPS parameter set with n = 821 and q = 4096.
Abstract class for NTRU-HPS parameter classes.
NTRU-HRSS parameter set with n = 1373.
NTRU-HRSS parameter set with n = 701.
Abstract class for NTRU-HRSS parameter classes.
NTRU secret encapsulation extractor.
Encapsulate a secret using NTRU.
Key generation parameters for NTRU.
Key generator for NTRU.
Abstract class for NTRU key pair.
NTRU LPRime Parameter Specs
NTRU cipher parameter sets
Abstract class for all NTRU parameter sets.
NTRU+ decapsulation.
Implementation of the NTRU+ asymmetric key pair generator following the NTRU+ KEM specifications.
NTRU private key parameter class.
NTRU public key parameter class.
From RFC 3657
Use of the Camellia Encryption Algorithm
in Cryptographic Message Syntax (CMS)
The no-op engine that just copies bytes through, irrespective of whether encrypting and decrypting.
Parsing
Optimal Asymmetric Encryption Padding (OAEP) - see PKCS 1 V 2.
ObjectData ::= SEQUENCE {
type INTEGER,
identifier UTF8String,
creationDate GeneralizedTime,
lastModifiedDate GeneralizedTime,
data OCTET STRING,
comment UTF8String OPTIONAL
}
ObjectDataSequence ::= SEQUENCE OF ObjectData
ObjectDigestInfo ASN.1 structure used in v2 attribute certificates.
ObjectStore ::= SEQUENCE {
CHOICE {
encryptedObjectStoreData EncryptedObjectStoreData,
objectStoreData ObjectStoreData
}
integrityCheck ObjectStoreIntegrityCheck
}
ObjectStoreData ::= SEQUENCE {
version INTEGER.
ObjectStoreIntegrityCheck ::= CHOICE {
PbkdMacIntegrityCheck
[0] EXPLICIT SignatureCheck
}
An implementation of RFC 7253 on The OCB
Authenticated-Encryption Algorithm.
OCSP RFC 2560, RFC 6960
OCSP RFC 2560, RFC 6960
implements a Output-FeedBack (OFB) mode on top of a simple cipher.
Deprecated.
Will be removed
OIW organization's OIDs:
A Cipher Text Stealing (CTS) mode cipher.
HMAC implementation based on RFC2104
H(K XOR opad, H(K XOR ipad, text))
Support class for constructing integrated encryption ciphers
for doing basic message exchanges on top of key agreement ciphers.
Password hashing scheme BCrypt,
designed by Niels Provos and David Mazières, using the
String format and the Base64 encoding
of the reference implementation on OpenBSD.
Implements OpenPGP's rather strange version of Cipher-FeedBack (CFB) mode
on top of a simple cipher.
A collection of utility methods for parsing OpenSSH private keys.
OpenSSHPublicKeyUtil utility classes for parsing OpenSSH public keys.
Generator for PBE derived keys and ivs as usd by OpenSSL.
Generic implementation of HashToScalar as used in OPRF (RFC 9497).
ASN.1 def for Diffie-Hellman key exchange OtherInfo structure.
OtherInfo Generator for which can be used for populating the SuppPrivInfo field used to provide shared
secret data used with NIST SP 800-56A agreement algorithms.
Party U (initiator) generation.
Party V (responder) generation.
The OtherName object.
The payload sent by the client during the third pass of an Owl exchange.
The payload sent by the client in the first pass of an Owl exchange.
The payload sent by the server during the second pass of an Owl exchange.
A client in the Elliptic Curve Owl key exchange protocol.
A client in the Owl key exchange protocol specifically for the user registration phase.
A pre-computed elliptic curve over a prime field, in short-Weierstrass form for use during an Owl exchange.
Standard pre-computed elliptic curves for use by Owl.
The final payload generated by the
OwlServerRegistration during the user registration of a Owl exchange.The payload sent by
OwlClientRegistration, during the user registration phase of an Owl exchange.The payload sent/received during the explicit key confirmation stage of the protocol,
A server in the Elliptic Curve Owl key exchange protocol.
A server in the Owl key exchange protocol specifically for the user registration phase.
Deprecated.
use org.bouncycastle.util.pack
Utility methods for converting byte arrays into ints and longs, and back again.
Deprecated.
use org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher instead.
A wrapper class that allows block ciphers to be used to process data in
a piecemeal fashion with padding.
ParallelHash - a hash designed to support the efficient hashing of very long strings, by taking advantage
of the parallelism available in modern processors with an optional XOF mode.
Cipher parameters with a fixed salt value associated with them.
ParSet ::= SEQUENCE {
T INTEGER
h SEQUENCE OF INTEGER
w SEQUENCE OF INTEGER
K SEQUENCE OF INTEGER
}
Standard char[] to byte[] converters for password based derivation algorithms.
super class for all Password Based Encryption (PBE) parameter generator classes.
Configuration class for a PBKDF using PKCS#5 Scheme 2.
PBKDF2-params ::= SEQUENCE {
salt CHOICE {
specified OCTET STRING,
otherSource AlgorithmIdentifier {{PBKDF2-SaltSources}}
},
iterationCount INTEGER (1..MAX),
keyLength INTEGER (1..MAX) OPTIONAL,
prf AlgorithmIdentifier {{PBKDF2-PRFs}} DEFAULT algid-hmacWithSHA1 }
Base class for PBKDF configs.
Carrier for the contents of a
PBEKey stored
in a BCFKS keystore.
PbkdMacIntegrityCheck ::= SEQUENCE {
macAlgorithm AlgorithmIdentifier,
pbkdAlgorithm KeyDerivationFunc,
mac OCTET STRING
}
From https://datatracker.ietf.org/doc/html/rfc8018
Exception thrown on failure to generate a PEM object.
Class representing a PEM header (name, value) pair.
A generic PEM object - type, header properties, and byte content.
Base interface for generators of PEM objects.
Base interface for parsers to convert PEM objects into specific objects.
A generic PEM reader, based on the format outlined in RFC 1421
A generic PEM writer, based on RFC 1421
Contains personal data for the otherName field in the subjectAltNames
extension.
the infamous Pfx from PKCS12
Implements OpenPGP's rather strange version of Cipher-FeedBack (CFB) mode on top of a simple cipher.
Photon-Beetle, https://www.isical.ac.in/~lightweight/beetle/
https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/photon-beetle-spec-final.pdf
Generator for PBE derived keys and ivs as defined by PKCS 12 V1.0.
this does your basic PKCS 1 v1.5 padding - whether or not you should be using this
depends on your application - see PKCS1 Version 2 for details.
Generator for PBE derived keys and ivs as defined by PKCS 5 V2.0 Scheme 1.
Generator for PBE derived keys and ivs as defined by PKCS 5 V2.0 Scheme 2.
A padder that adds PKCS7/PKCS5 padding to a block.
pkcs-1 OBJECT IDENTIFIER ::=
Validator for the CRL scope rules of RFC 5280 sec.
PKIX RFC 5280
PolicyMappings V3 extension, described in RFC3280.
PolicyQualifierId, used in the CertificatePolicies
X509V3 extension.
Policy qualifiers, used in the X509V3 CertificatePolicies
extension.
Poly1305 message authentication code, designed by D.
Generates keys for the Poly1305 MAC.
Polynomial for
org.bouncycastle.pqc.crypto.ntru.PQC:
OtherInfo Generator for which can be used for populating the SuppPrivInfo field used to provide shared
secret data used with NIST SP 800-56A agreement algorithms.
Party U (initiator) generation.
Party V (responder) generation.
Interface for classes storing precomputation data for multiplication
algorithms.
Utility methods for generating primes and testing for primality.
Used to return the output from the
Enhanced
Miller-Rabin Probabilistic Primality Test
Used to return the output from the
Shawe-Taylor Random_Prime
Routine
Factory for creating private key objects from PKCS8 PrivateKeyInfo objects.
Factory for creating private key objects from PKCS8 PrivateKeyInfo objects.
RFC 5958
Factory to create ASN.1 private key info objects from lightweight private keys.
Factory to create ASN.1 private key info objects from lightweight private keys.
PrivateKeyPossessionStatement ::= SEQUENCE {
signer IssuerAndSerialNumber,
cert Certificate OPTIONAL }
Deprecated.
use PrivateKeyPossessionStatement
PrivateKeyUsagePeriod ::= SEQUENCE {
notBefore [0] GeneralizedTime OPTIONAL,
notAfter [1] GeneralizedTime OPTIONAL }
Utility method for accessing properties values - properties can be set in java.security,
thread local, and system properties.
RSA-PSS as described in PKCS# 1 v 2.1.
Factory to create asymmetric public key parameters for asymmetric ciphers from range of
ASN.1 encoded SubjectPublicKeyInfo objects.
Factory to create asymmetric public key parameters for asymmetric ciphers from range of
ASN.1 encoded SubjectPublicKeyInfo objects.
The QCStatement object.
The QcType statementInfo defined by ETSI EN 319 412-5 sec.
Common base for QR-UOV public and private key parameter classes; carries the
QRUOVParameters parameter set the key belongs to.Parameter sets for the QR-UOV multivariate signature scheme (NIST PQC additional
signatures Round 2 submission).
Lightweight private key parameters for QR-UOV.
Lightweight public key parameters for QR-UOV.
QR-UOV signature implementation.
Utility class to convert decimal numbers (BigInteger) into a number in the base provided and the other way round.
Generic interface for objects generating random bytes.
an implementation of RC2 as described in RFC 2268
"A Description of the RC2(r) Encryption Algorithm" R.
Wrap keys according to RFC 3217 - RC2 mechanism
The specification for RC5 came from the
RC5 Encryption Algorithm
publication in RSA CryptoBytes, Spring of 1995.The specification for RC5 came from the
RC5 Encryption Algorithm
publication in RSA CryptoBytes, Spring of 1995.An RC6 engine.
Holding class for a single Relative Distinguished Name (RDN).
The ReasonFlags object.
RFC 9763 sec.
Descriptor for a related certificate, as defined by
draft-ietf-lamps-certdiscovery (Certificate Discovery in PKIX).
OCSP RFC 2560, RFC 6960
OCSP RFC 2560, RFC 6960
Takes bytes generated by an underling RandomGenerator and reverses the order in
each small window (of configurable size).
an implementation of the RFC 3211 Key Wrap
Specification.
an implementation of the AES Key Wrapper from the NIST Key Wrap
Specification as described in RFC 3394.
An implementation of the AES Key Wrap with Padding specification
as described in RFC 5649.
an implementation of Rijndael, based on the documentation and reference implementation
by Paulo Barreto, Vincent Rijmen, for v2.0 August '99.
implementation of RIPEMD128
implementation of RIPEMD see,
https://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html
implementation of RIPEMD256.
implementation of RIPEMD 320.
Implementation of the RoleSyntax object as specified by the RFC3281.
Romulus v1.3, based on the current round 3 submission, https://romulusae.github.io/romulus/
Reference C implementation: https://github.com/romulusae/romulus
Specification: https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/romulus-spec-final.pdf
Romulus v1.3, based on the current round 3 submission, https://romulusae.github.io/romulus/
Reference C implementation: https://github.com/romulusae/romulus
Specification: https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/romulus-spec-final.pdf
this does your basic RSA algorithm with blinding
This does your basic RSA Chaum's blinding and unblinding as outlined in
"Handbook of Applied Cryptography", page 475.
Generate a random factor suitable for use with RSA blind signatures
as outlined in Chaum's blinding and unblinding as outlined in
"Handbook of Applied Cryptography", page 475.
Client side of the RSA Blind Signature Scheme with Appendix (RSABSSA) defined
in RFC 9474.
Output of
RSABlindSignatureClient.blind(byte[]).Variant parameters for the RSA Blind Signature Scheme with Appendix (RSABSSA)
defined in RFC 9474.
Server side of the RSA Blind Signature Scheme with Appendix (RSABSSA) defined
in RFC 9474.
this does your basic RSA algorithm.
The RSA Key Encapsulation Mechanism (RSA-KEM) from ISO 18033-2.
The RSA Key Encapsulation Mechanism (RSA-KEM) from ISO 18033-2.
Deprecated.
use RSAKEMGenerator, RSAKEMExtractor
an RSA key pair generator.
Deprecated.
use RSAPrivateKey
Deprecated.
use org.bouncycastle.asn1.pkcs.RSAPublicKey
the foundation class for the exceptions thrown by the crypto packages.
Expires 13 May 2022
SABERPrivateKey ::= SEQUENCE {
version INTEGER {v0(0)} -- version (round 3)
z OCTET STRING, -- 32-byte random value z
s OCTET STRING, -- short integer polynomial s
PublicKey [0] IMPLICIT SABERPublicKey OPTIONAL,
-- see next section
hpk OCTET STRING -- H(pk)
}
Expires 13 May 2022
SABERPublicKey := SEQUENCE {
seed_A OCTET STRING, -- 32-byte seed
b OCTET STRING -- short integer polynomial b
}
Implements the receiver side of the SAKKE (Sakai-Kasahara Key Encryption) protocol
as defined in RFC 6508.
This class implements the SAKKE (Sakai-Kasahara Key Encryption) Key Encapsulation Mechanism
as defined in RFC 6508.
Represents a private key for the Sakai-Kasahara Key Encryption (SAKKE) scheme, as defined in RFC 6508.
Represents the public parameters for the SAKKE (Sakai-Kasahara Key Encryption) scheme
as defined in RFC 6508.
Implementation of Daniel J.
Extended digest which provides the ability to store state and
provide an encoding.
Implementation of the scrypt a password-based key derivation function.
Configuration class for a PBKDF based around scrypt.
RFC 7914 scrypt parameters.
SDitH parameter set descriptor.
SDitH private key, in the same expanded form that the reference KAT files
write out (sdith_full_key_t).
SDitH (Syndrome-Decoding-in-the-Head) signer for the Hypercube variant.
Certicom object identifiers
RFC 7292 - SecretBag carrier for arbitrary secret values stored in a
PKCS#12 SafeBag of type
secretBag (PKCSObjectIdentifiers.secretBag).
SecretKeyData ::= SEQUENCE {
keyAlgorithm OBJECT IDENTIFIER,
keyBytes OCTET STRING
}
Secret sharing (also called secret splitting) refers to methods for distributing a secret among a group.
Interface describing secret with encapsulation details.
Source provider for SecureRandom implementations.
Implementation of the SEED algorithm as described in RFC 4009
An implementation of the SEED key wrapper based on RFC 4010/RFC 3394.
Interface a selector from a store should conform to.
The SemanticsInformation object.
Serpent is a 128-bit 32-round block cipher with variable key lengths,
including 128, 192 and 256 bit keys conjectured to be at least as
secure as three-key triple-DES.
Base class for a constraint, serves to provide storage for the set of exceptions (if any).
implementation of SHA-1 as outlined in "Handbook of Applied Cryptography", pages 346 - 349.
Implementation of the SHA_Interleave function from RFC 2945, section 3.1, as used by
SRP-SHA1 to produce a session key twice the length of a regular SHA-1 hash.
SHA-224 as described in RFC 3874
FIPS 180-2 implementation of SHA-256.
FIPS 180-2 implementation of SHA-384.
implementation of SHA-3 based on following KeccakNISTInterface.c from https://keccak.noekeon.org/
FIPS 180-2 implementation of SHA-512.
FIPS 180-4 implementation of SHA-512/t
Block cipher Shacal2, designed by Helena Handschuh and David Naccache,
based on hash function SHA-256,
using SHA-256-Initialization-Values as data and SHA-256-Data as key.
implementation of SHAKE based on following KeccakNISTInterface.c from https://keccak.noekeon.org/
Deprecated.
no longer selects anything.
Wrapper class that reduces the output length of a particular digest to
only the first n bytes of the digest function.
Utility methods and constants for shorts.
Implements the Segmented Integer Counter (SIC) mode on top of a simple
block cipher.
Object Identifiers of SigI specifciation (German Signature Law
Interoperability specification).
SignatureCheck ::= SEQUENCE {
signatureAlgorithm AlgorithmIdentifier,
certificates [0] EXPLICIT Certificates OPTIONAL,
signatureValue BIT STRING
}
Certificates ::= SEQUENCE OF Certificate
a PKCS#7 signed data object.
Generic signer interface for hash based and message recovery signers.
a PKCS#7 signer info object.
Signer with message recovery.
Implements the Simplified Shallue van de Woestijne Map to curve according to section 6.6.2 of RFC
9380 This is the straight-line implementation optimized for Weierstrass curves as defined in
section F.2.
Implementation of SipHash as specified in "SipHash: a fast short-input PRF", by Jean-Philippe
Aumasson and Daniel J.
Implementation of SipHash with 128 bit output.
Implementation of the Skein parameterised hash function in 256, 512 and 1024 bit block sizes,
based on the
Threefish tweakable block cipher.Implementation of the Skein family of parameterised hash functions in 256, 512 and 1024 bit block
sizes, based on the
Threefish tweakable block cipher.Implementation of the Skein parameterised MAC function in 256, 512 and 1024 bit block sizes,
based on the
Threefish tweakable block cipher.Parameters for the Skein hash function - a series of byte[] strings identified by integer tags.
A builder for
SkeinParameters.a class that provides a basic SKIPJACK engine.
Ciphers producing a key stream which can be reset to particular points in the stream implement this.
General interface for a stream cipher that supports skipping.
SLH-DSA signer.
SM2 public key encryption engine - based on https://tools.ietf.org/html/draft-shen-sm2-ecdsa-02.
SM2 Key Exchange protocol - based on https://tools.ietf.org/html/draft-shen-sm2-ecdsa-02
Private parameters for an SM2 key exchange.
Public parameters for an SM2 key exchange.
The SM2 Digital Signature algorithm.
Implementation of Chinese SM3 digest as described at
https://tools.ietf.org/html/draft-shen-sm3-hash-01
and at ....
SM4 Block Cipher - SM4 is a 128 bit block cipher with a 128 bit key.
The SM9 public-key encryption ciphertext structure of GM/T 0080-2020 (the
C1/C2/C3 values are defined by the encryption algorithm in GM/T 0044.4).
Fixed system parameters of the SM9 256-bit BN curve (GM/T 0044.5-2016, clause 1).
Generates an SM9 encryption master key pair (ke, P_pub-e = [ke]P1), with the
master private key ke chosen uniformly from [1, N-1] (GM/T 0044.4-2016).
SM9 encryption master private key ke (GM/T 0044.4-2016).
SM9 encryption master public key P_pub-e = [ke]P1, a point of G1
(GM/T 0044.4-2016).
A user's SM9 encryption private key de = [t2]P2, a point of G2
(GM/T 0044.4-2016).
An SM9 recipient's encryption public key: the identity together with the
encryption master public key from which the recipient point Q is derived
(GM/T 0044.4-2016).
A master key capable of the KGC user-key extraction for an identity-based
encryption-family scheme: deriving a user's private key from the user's
identity and the private-key generation function identifier hid the KGC
chose (GM/T 0044.3/0044.4-2016 for SM9, where one encryption master key
serves key exchange, KEM and public-key encryption, distinguished by hid).
The SM9 public key encryption algorithm (GM/T 0044.4-2016, clause 7).
The GM/T 0044.4-2016 data-encapsulation method.
Affine point of the group G2 for SM9: the sextic twist E'(F_p2): y^2 = x^3 + 5u
(GM/T 0044.5-2016).
SM9 key encapsulation mechanism - decapsulation side (GM/T 0044.4-2016, clause 6).
SM9 key encapsulation mechanism - encapsulation side (GM/T 0044.4-2016, clause 6).
The SM9 key exchange protocol (GM/T 0044.3-2016).
The SM9 G1 curve E: y^2 = x^3 + 5 (a = 0) over the 256-bit Barreto-Naehrig base
field F_q (GM/T 0044.5-2016), backed by the constant-time Montgomery field
SM9P256V1Field.Prime-field arithmetic for the SM9 256-bit Barreto-Naehrig base field F_q
(GM/T 0044.5-2016), used by the G1 curve
SM9P256V1Curve.Element of the SM9 G1 base field F_q, held in Montgomery form (see
SM9P256V1Field).Jacobian-coordinate point of the SM9 G1 curve y^2 = x^3 + 5 (a = 0) over
SM9P256V1Field.The SM9 R-ate pairing e: G1 x G2 -> G_T over the 256-bit BN curve
(GM/T 0044.5-2016).
Generates an SM9 signature master key pair (ks, P_pub-s = [ks]P2), where the
master private key ks is chosen uniformly from [1, N-1] (GM/T 0044.2-2016, 5.3).
SM9 signature master private key ks (GM/T 0044.2-2016).
SM9 signature master public key P_pub-s = [ks]P2, a point of G2
(GM/T 0044.2-2016).
The SM9 signature data structure of GM/T 0080-2020 (the (h, S) values are
defined by the signature algorithm in GM/T 0044.2).
The SM9 identity-based digital signature algorithm (GM/T 0044.2-2016).
A user's SM9 signature private key ds_A = [t2]P1, a point of G1
(GM/T 0044.2-2016).
A master key capable of the KGC user-key extraction for an identity-based
signature scheme: deriving a user's signature private key from the user's
identity (GM/T 0044.2-2016 for SM9, where the signature private-key
generation function identifier hid is applied internally).
The shared SM3-based auxiliary functions of SM9 (GM/T 0044-2016): the
cryptographic functions H1 and H2 that map a byte string to an integer in
[1, n-1] (GM/T 0044.2, 5.4), and the key derivation function KDF
(GM/T 0044.3/0044.4).
Common base for SMAUG-T public and private key parameter classes; carries
the
SmaugTParameters parameter set the key belongs to.Parameter set for the SMAUG-T post-quantum key encapsulation mechanism
(Module-Lizard / MLWE+MLWR, SMAUG-T v1.2.0 reference specification).
Lightweight private key parameters for SMAUG-T.
Lightweight public key parameters for SMAUG-T.
Implementation of the Snova asymmetric key pair generator following the Snova signature scheme specifications.
Implementation of the Snova digital signature scheme as specified in the Snova documentation.
StreamLined NTRU Prime Parameter Specs
Interface to SP800-90A deterministic random bit generators.
Builder class for making SecureRandom objects based on SP 800-90A Deterministic Random Bit Generators (DRBG).
Sparkle v1.2, based on the current round 3 submission, https://sparkle-lwc.github.io/
Reference C implementation: https://github.com/cryptolu/sparkle
Specification: https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/sparkle-spec-final.pdf
Sparkle v1.2, based on the current round 3 submission, https://sparkle-lwc.github.io/
Reference C implementation: https://github.com/cryptolu/sparkle
Specification: https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/sparkle-spec-final.pdf
SPHINCS-256 signer.
See https://datatracker.ietf.org/doc/draft-uni-qsckeys-sphincsplus/00/ for details
ASN.1 Encoding for a
SphincsPlus private key for fully populated:
See https://datatracker.ietf.org/doc/draft-uni-qsckeys-sphincsplus/00/ for details.
SPHINCS+ signer.
SQIsign key-pair generator wired for all three NIST parameter sets
(lvl1, lvl3, lvl5).
Parameter sets for SQIsign (Short Quaternion and Isogeny Signature), the
NIST PQC additional-signatures candidate based on isogenies of supersingular
elliptic curves.
SQIsign signer.
Filter for strings to store in a SQL table.
The result of a sqrt_ratio calculation
Interface for a calculator of SqrtRatio
Implements the client side SRP-6a protocol.
Implements the server side SRP-6a protocol.
Generates new SRP verifier for user
Base interface for a PQC stateful signature algorithm.
A generic interface describing a simple store of objects.
Exception thrown if there's an issue doing a match in store.
A parent class for block cipher modes that do not require block aligned data to be processed, but can function in
a streaming mode.
the interface stream ciphers conform to.
Exception thrown when too much data is written to an InputStream
Utility methods to assist with stream processing.
An interface defining a list of strings.
String utilities.
X.509 Section 9.8.2.
This extension may contain further X.500 attributes of the subject.
The SubjectKeyIdentifier object.
The object that contains the public key stored in a certificate.
Factory to create ASN.1 subject public key info objects from lightweight public keys.
Factory to create ASN.1 subject public key info objects from lightweight public keys.
Target structure used in target information extension for attribute
certificates from RFC 3281.
Target information extension for attributes certificates according to RFC
3281.
Targets structure used in target information extension for attribute
certificates from RFC 3281.
A padder that adds Trailing-Bit-Compliment padding to a block.
The TBSCertificate object.
Represents the ASN.1 structure TBSCertificateLogEntry.
Deprecated.
use TBSCertificate
PKIX RFC-2459 - TBSCertList object.
An TEA engine.
An input stream which copies anything read through it to another stream.
An output stream which copies anything written into it to another stream.
Elliptic curves defined in "ECC Brainpool Standard Curves and Curve Generation"
https://www.ecc-brainpool.org/download/draft_pkix_additional_ecc_dp.txt
Object identifiers based on the TeleTrust branch.
A fixed secure random designed to return data for someone needing to create a single BigInteger.
A fixed secure random designed to return data for someone needing random bytes.
A class for returning "quick entropy" for testing purposes.
A thread based seed generator - one source of randomness.
Implementation of the Threefish tweakable large block cipher in 256, 512 and 1024 bit block
sizes.
implementation of Tiger based on:
https://www.cs.technion.ac.il/~biham/Reports/Tiger
Tnepres is a 128-bit 32-round block cipher with variable key lengths,
including 128, 192 and 256 bit keys conjectured to be at least as
secure as three-key triple-DES.
General interface for a translator.
TupleHash - a hash designed to simply hash a tuple of input strings, any or all of which may be empty strings,
in an unambiguous way with an optional XOF mode.
Parameters for tweakable block ciphers.
A class that provides Twofish encryption operations.
The TypeOfBiometricData object.
Ukrainian object identifiers
This is a testing utility class to check the property that an
OutputStream is never
closed in some particular context - typically when wrapped by another OutputStream that
should not be forwarding its OutputStream.close() calls.Wrapper class to mark untrusted input.
Wrapper class to mark an untrusted Url
Parameter set for the Unbalanced Oil and Vinegar (UOV) signature scheme.
Unbalanced Oil and Vinegar (UOV) signer, classic variant.
Convert binary data to and from UrlBase64 encoding.
Convert binary data to and from UrlBase64 encoding.
UserNotice class, used in
CertificatePolicies X509 extensions (in policy
qualifiers).Utilities for working with UTF-8 encodings.
Generator for Version 1 TBSCertificateStructures.
Generator for Version 2 AttributeCertificateInfo
Generator for Version 2 TBSCertList structures.
Generator for Version 3 TBSCertificateStructures.
Diffie-Hellman domain validation parameters.
Implementation of WhirlpoolDigest, based on Java source published by Barreto and Rijmen.
Class implementing the WNAF (Window Non-Adjacent Form) multiplication
algorithm.
Class holding precomputation data for the WNAF (Window Non-Adjacent Form)
algorithm.
Class implementing the WTNAF (Window
τ-adic Non-Adjacent Form) algorithm.Class holding precomputation data for the WTNAF (Window
τ-adic Non-Adjacent Form) algorithm.A low-level implementation of X25519 (RFC 7748).
A low-level implementation of X448 (RFC 7748).
The X.500 Name object.
A builder class for making X.500 Name objects.
This interface provides a profile to conform to when
DNs are being converted into strings and back.
class for breaking up an X500 Name into it's component tokens, ala
java.util.StringTokenizer.
Deprecated.
use org.bouncycastle.asn1.x509.Certificate
The default converter for X509 DN entries when going from their
string value to ASN.1 strings.
Deprecated.
use Extension
Deprecated.
use
Extension and ExtensionsDeprecated.
use org.bouncycastle.asn1.x509.ExtensionsGenerator
Deprecated.
use org.bouncycastle.asn1.x500.X500Name.
It turns out that the number of standard ways the fields in a DN should be
encoded into their ASN.1 counterparts is rapidly approaching the
number of machines on the internet.
Deprecated.
use X500NameTokenizer
A padder that adds X9.23 padding to a block - if a SecureRandom is
passed in random padding is assumed, otherwise padding with zeros is used.
X9.31-1998 - signing using a hash.
Table of the current named curves defined in X.962 EC-DSA.
The Parameters ASN.1 CHOICE from X9.62.
ASN.1 def for Elliptic-Curve Curve structure.
ASN.1 def for Elliptic-Curve ECParameters structure.
A holding class that allows for X9ECParameters to be lazily constructed.
Class for describing an ECPoint as a DER object.
class for processing an FieldElement as a DER object.
ASN.1 def for Elliptic-Curve Field ID structure.
A class which converts integers to byte arrays, allowing padding and calculations
to be done according the the filed size of the curve or field element involved.
Object identifiers for the various X9 standards.
Implementation of the XChaCha20 stream cipher (extended-nonce ChaCha20)
as described in draft-irtf-cfrg-xchacha-03.
XChaCha20-Poly1305 AEAD construction as described in
draft-irtf-cfrg-xchacha-03 sec.
Key agreement using X25519 or X448.
Parameters holder for private unified static/ephemeral agreement using Edwards Curves.
Parameters holder for public unified static/ephemeral agreement using Edwards Curves.
XmdMessageExpansion is an implementation of the MessageExpansion interface, used to expand a
given message to a specified length in bytes while following cryptographic domain separation
principles.
XMSS.
XMSS address.
XMSS key-pair generation parameters.
Key pair generator for XMSS keys.
XMSSKeyParams
XMSS^MT.
XMSS^MT key-pair generation parameters.
Key pair generator for XMSS^MT keys.
XMMSMTKeyParams
XMSS^MT Parameters.
XMMSMTPrivateKey
XMSS^MT Private Key.
XMSSMTPublicKey
XMSS^MT Public Key.
XMSS^MT Signature.
XMSS^MT Signer class.
Binary tree node.
XMSS Parameters.
XMMSPrivateKey
XMSS Private Key.
XMSSPublicKey
XMSS Public Key.
Reduced XMSS Signature.
XMSS Signature.
Deprecated.
use Encodable
Utils for XMSS implementation.
With FIPS PUB 202 a new kind of message digest was announced which supported extendable output, or variable digest sizes.
Xoodyak v1, https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/xoodyak-spec-final.pdf
Implementation of Daniel J.
An XTEA engine.
Implements the decapsulation process of the X-Wing hybrid Key Encapsulation Mechanism (KEM).
Implements the encapsulation process of the X-Wing hybrid Key Encapsulation Mechanism (KEM).
Generates key pairs compatible with the X-Wing hybrid Key Encapsulation Mechanism (KEM).
A padder that adds NULL byte padding to a block.
Zuc128Engine implementation.
Zuc256 implementation.
Zuc128 Mac implementation.
Zuc256 implementation.
Zuc256 implementation.
Zuc256 Mac implementation.