java.lang.Object
org.bouncycastle.pqc.crypto.mlkem.MLKEMKeyPairGenerator

public class MLKEMKeyPairGeneratorextends Object
Generator for ML-KEM (Module-Lattice Key Encapsulation Mechanism) key pairs. Creates public/private key pairs for post-quantum cryptographic operations.
  • Field Details

    • mlkemParams

      private MLKEMParameters mlkemParams
      The parameter set keys are generated for.
    • random

      private SecureRandom random
      Random used during generation.
  • Constructor Details

  • Method Details

    • initialize

      private void initialize(KeyGenerationParameters param)
      Sets the parameters used for generating.
      Parameters:
      param - the parameter set to generate with
    • genKeyPair

      private AsymmetricCipherKeyPair genKeyPair()
      Generates a key pair for the set parameters.
      Returns:
      the new key pair
    • init

      public void init(KeyGenerationParameters param)
      Initialize the key pair generator.
      Parameters:
      param - the key generation parameters
    • generateKeyPair

      public AsymmetricCipherKeyPair generateKeyPair()
      Generate a new ML-KEM key pair.
      Returns:
      the generated key pair
    • internalGenerateKeyPair

      public AsymmetricCipherKeyPair internalGenerateKeyPair(byte[] d, byte[] z)
      Generate a key pair using the specified seed values.
      Parameters:
      d - the seed for the key generation
      z - the additional seed for the key generation
      Returns:
      the generated key pair