Package org.bouncycastle.pqc.asn1
ASN.1 Support classes for PQC algorithms.
-
Interface Summary Interface Description PQCObjectIdentifiers PQC: -
Class Summary Class Description CMCEPrivateKey ASN.1 Encoding for a Classic McEliece private key for fully populated: McEliecePrivateKey ::= SEQUENCE { Version INTEGER {v0(0)} -- version (round 3) delta OCTET STRING, -- nonce C OCTET STRING, -- column selections g OCTET STRING, -- monic irreducible polynomial alpha OCTET STRING, -- field orderings s OCTET STRING, -- random n-bit string PublicKey [0] IMPLICIT McEliecePublicKey OPTIONAL -- see next section }CMCEPublicKey Classic McEliece Public Key Format.FalconPrivateKey ASN.1 Encoding for a FALCON private key for fully populated: FALCONPrivateKey ::= SEQUENCE { version INTEGER {v2(1)} -- syntax version 2 (round 3) f OCTET STRING, -- short integer polynomial f g OCTET STRING, -- short integer polynomial g f OCTET STRING, -- short integer polynomial F publicKey [0] IMPLICIT FALCONPublicKey OPTIONAL -- see next section }FalconPublicKey Classic McEliece Public Key Format.GMSSPrivateKey GMSSPublicKey This class implements an ASN.1 encoded GMSS public key.KyberPrivateKey Crystal Kyber Private Key Format.KyberPublicKey Crystal Kyber Public Key Format.McElieceCCA2PrivateKey Return the keyData to encode in the PrivateKeyInfo structure.McElieceCCA2PublicKey McEliecePrivateKey McEliecePublicKey ParSet ParSet ::= SEQUENCE { T INTEGER h SEQUENCE OF INTEGER w SEQUENCE OF INTEGER K SEQUENCE OF INTEGER }SABERPrivateKey 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) }SABERPublicKey Expires 13 May 2022 SABERPublicKey := SEQUENCE { seed_A OCTET STRING, -- 32-byte seed b OCTET STRING -- short integer polynomial b }SPHINCS256KeyParams SPHINCSPLUSPrivateKey See https://datatracker.ietf.org/doc/draft-uni-qsckeys-sphincsplus/00/ for details ASN.1 Encoding for a SphincsPlus private key for fully populated: SPHINCSPLUSPrivateKey ::= SEQUENCE { version INTEGER {v2(1)} --syntax version 2 (round 3) skseed OCTET STRING, --n-byte private key seed skprf OCTET STRING, --n-byte private key seed PublicKey SPHINCSPLUSPublicKey --public key }SPHINCSPLUSPublicKey See https://datatracker.ietf.org/doc/draft-uni-qsckeys-sphincsplus/00/ for details.XMSSKeyParams XMSSKeyParams XMSSKeyParams ::= SEQUENCE { version INTEGER -- 0 height INTEGER treeDigest AlgorithmIdentifier }XMSSMTKeyParams XMMSMTKeyParams XMMSMTKeyParams ::= SEQUENCE { version INTEGER -- 0 height INTEGER layers INTEGER treeDigest AlgorithmIdentifier }XMSSMTPrivateKey XMMSMTPrivateKey XMMSMTPrivateKey ::= SEQUENCE { version INTEGER -- 0, or 1 if maxIndex is present keyData SEQUENCE { index INTEGER secretKeySeed OCTET STRING secretKeyPRF OCTET STRING publicSeed OCTET STRING root OCTET STRING maxIndex [0] INTEGER OPTIONAL } bdsState CHOICE { platformSerialization [0] OCTET STRING } OPTIONAL }XMSSMTPublicKey XMSSMTPublicKey XMSSMTPublicKey ::= SEQUENCE { version INTEGER -- 0 publicSeed OCTET STRING root OCTET STRING }XMSSPrivateKey XMMSPrivateKey XMMSPrivateKey ::= SEQUENCE { version INTEGER -- 0, or 1 if maxIndex is present keyData SEQUENCE { index INTEGER secretKeySeed OCTET STRING secretKeyPRF OCTET STRING publicSeed OCTET STRING root OCTET STRING maxIndex [0] INTEGER OPTIONAL } bdsState CHOICE { platformSerialization [0] OCTET STRING } OPTIONAL }XMSSPublicKey XMSSPublicKey XMSSPublicKey ::= SEQUENCE { version INTEGER -- 0 publicSeed OCTET STRING root OCTET STRING }