org.bouncycastle.pqc.asn1 (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

# Package org.bouncycastle.pqc.asn1

ASN.1 Support classes for PQC algorithms.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  PQCObjectIdentifiers | PQC: { iso(1) identifier-organization(3) dod(6) internet(1) private(4) 1 8301 3 1 3 5 3 ... }

- 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.
  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 }

## Package org.bouncycastle.pqc.asn1 Description

ASN.1 Support classes for PQC algorithms.