java.lang.Object
org.bouncycastle.pqc.crypto.mlkem.MLKEMKeyPairGenerator
Generator for ML-KEM (Module-Lattice Key Encapsulation Mechanism) key pairs. Creates public/private key pairs for post-quantum cryptographic operations.
Field Summary
FieldsModifier and TypeFieldDescriptionprivate MLKEMParametersThe parameter set keys are generated for.private SecureRandomRandom used during generation.Constructor Summary
ConstructorsConstructorDescriptionConstructs an uninitialised generator; callinit(KeyGenerationParameters)beforegenerateKeyPair(), which reads the parameters that init() stores.Method Summary
Modifier and TypeMethodDescriptionGenerate a new ML-KEM key pair.private AsymmetricCipherKeyPairGenerates a key pair for the set parameters.voidinit(KeyGenerationParameters param) Initialize the key pair generator.private voidSets the parameters used for generating.internalGenerateKeyPair(byte[] d, byte[] z) Generate a key pair using the specified seed values.
Field Details
mlkemParams
The parameter set keys are generated for.random
Random used during generation.
Constructor Details
MLKEMKeyPairGenerator
public MLKEMKeyPairGenerator()Constructs an uninitialised generator; callinit(KeyGenerationParameters)beforegenerateKeyPair(), which reads the parameters that init() stores.
Method Details
initialize
Sets the parameters used for generating.- Parameters:
param- the parameter set to generate with
genKeyPair
Generates a key pair for the set parameters.- Returns:
- the new key pair
init
Initialize the key pair generator.- Parameters:
param- the key generation parameters
generateKeyPair
Generate a new ML-KEM key pair.- Returns:
- the generated key pair
internalGenerateKeyPair
Generate a key pair using the specified seed values.- Parameters:
d- the seed for the key generationz- the additional seed for the key generation- Returns:
- the generated key pair