Bouncy Castle Cryptography Library 1.81

org.bouncycastle.pqc.crypto.mayo
Class MayoKeyPairGenerator

java.lang.Object
  extended byorg.bouncycastle.pqc.crypto.mayo.MayoKeyPairGenerator
All Implemented Interfaces:
AsymmetricCipherKeyPairGenerator

public class MayoKeyPairGenerator
extends java.lang.Object
implements AsymmetricCipherKeyPairGenerator

Implementation of the MAYO asymmetric key pair generator following the MAYO signature scheme specifications.

This generator produces MayoPublicKeyParameters and MayoPrivateKeyParameters based on the MAYO algorithm parameters. The implementation follows the specification defined in the official MAYO documentation and reference implementation.

References:

MAYO Official Website MAYO Specification Document MAYO Reference Implementation (C)


Constructor Summary
MayoKeyPairGenerator()
           
 
Method Summary
 AsymmetricCipherKeyPair generateKeyPair()
          Generates a new asymmetric key pair following the MAYO algorithm specifications.
 void init(KeyGenerationParameters param)
          intialise the key pair generator.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MayoKeyPairGenerator

public MayoKeyPairGenerator()
Method Detail

init

public void init(KeyGenerationParameters param)
Description copied from interface: AsymmetricCipherKeyPairGenerator
intialise the key pair generator.

Specified by:
init in interface AsymmetricCipherKeyPairGenerator
Parameters:
param - the parameters the key pair is to be initialised with.

generateKeyPair

public AsymmetricCipherKeyPair generateKeyPair()
Generates a new asymmetric key pair following the MAYO algorithm specifications.

The key generation process follows these steps:

Initializes parameter dimensions from MayoParameters Generates secret key seed using a secure random generator Derives public key seed using SHAKE-256 Expands matrix parameters P1 and P2 Performs GF(16) matrix operations for key material generation Assembles and packages the public key components Securely clears temporary buffers containing sensitive data

Specified by:
generateKeyPair in interface AsymmetricCipherKeyPairGenerator
Returns:
A valid MAYO key pair containing public and private key parameters

Bouncy Castle Cryptography Library 1.81