Class KeyPairGeneratorSpi
java.lang.Object
java.security.KeyPairGeneratorSpi
org.bouncycastle.jcajce.provider.asymmetric.compositekem.KeyPairGeneratorSpi
- Direct Known Subclasses:
KeyPairGeneratorSpi.MLKEM1024_ECDH_BP384_SHA3_256, KeyPairGeneratorSpi.MLKEM1024_ECDH_P384_SHA3_256, KeyPairGeneratorSpi.MLKEM1024_ECDH_P521_SHA3_256, KeyPairGeneratorSpi.MLKEM1024_RSA3072_SHA3_256, KeyPairGeneratorSpi.MLKEM1024_X448_SHA3_256, KeyPairGeneratorSpi.MLKEM768_ECDH_BP256_SHA3_256, KeyPairGeneratorSpi.MLKEM768_ECDH_P256_SHA3_256, KeyPairGeneratorSpi.MLKEM768_ECDH_P384_SHA3_256, KeyPairGeneratorSpi.MLKEM768_RSA2048_SHA3_256, KeyPairGeneratorSpi.MLKEM768_RSA3072_SHA3_256, KeyPairGeneratorSpi.MLKEM768_RSA4096_SHA3_256, KeyPairGeneratorSpi.MLKEM768_X25519_SHA3_256
KeyPairGenerator for Composite ML-KEM (draft-ietf-lamps-pq-composite-kem). The concrete composite
is selected by the subclasses at the end of this file. The generated keys are a
CompositePublicKey / CompositePrivateKey pair whose components are, in order, the
ML-KEM key and the traditional (RSA / ECDH / X25519 / X448) key.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final classstatic final class -
Method Summary
Modifier and TypeMethodDescriptionvoidinitialize(int keySize, SecureRandom random) There is no notion of a key size for composite KEMs - the parameter set is fixed by the algorithm.voidinitialize(AlgorithmParameterSpec paramSpec, SecureRandom secureRandom) A custom AlgorithmParameterSpec is not supported - the composite parameter set is determined by the algorithm name.
-
Method Details
-
initialize
There is no notion of a key size for composite KEMs - the parameter set is fixed by the algorithm. Useinitialize(AlgorithmParameterSpec, SecureRandom)(with a null spec) only to supply a custom SecureRandom.- Specified by:
initializein classKeyPairGeneratorSpi
-
initialize
public void initialize(AlgorithmParameterSpec paramSpec, SecureRandom secureRandom) throws InvalidAlgorithmParameterException A custom AlgorithmParameterSpec is not supported - the composite parameter set is determined by the algorithm name. This method only serves to set a custom SecureRandom on the component generators.- Overrides:
initializein classKeyPairGeneratorSpi- Parameters:
paramSpec- must be null.secureRandom- a SecureRandom used by the component key generators.- Throws:
InvalidAlgorithmParameterException
-
generateKeyPair
- Specified by:
generateKeyPairin classKeyPairGeneratorSpi
-