de.flexiprovider.pqc.ots.lm
Class LMOTSKeyPairGenerator

java.lang.Object
  |
  +--java.security.KeyPairGeneratorSpi
        |
        +--de.flexiprovider.api.keys.KeyPairGenerator
              |
              +--de.flexiprovider.pqc.ots.lm.LMOTSKeyPairGenerator

public class LMOTSKeyPairGenerator
extends KeyPairGenerator

This class generates the public- and the private key pairs. It randomly and uniformly chooses the private key pair and calculates the public key pair as the hash of the private keys.

Author:
rob

Constructor Summary
LMOTSKeyPairGenerator()
           
 
Method Summary
 KeyPair genKeyPair()
          Generates an LMOTS key pair, consisting of an LMOTSPublicKey and an LMOTSPrivateKey.
 void initialize(AlgorithmParameterSpec params, SecureRandom javaRand)
          Initialize the key pair generator.
 void initialize(int keysize, SecureRandom javaRand)
          (NOT USED! SEE LMOTSParameterSpec) Initialize the key pair generator with the given seed size and source of randomness.
 
Methods inherited from class de.flexiprovider.api.keys.KeyPairGenerator
generateKeyPair, initialize, initialize
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LMOTSKeyPairGenerator

public LMOTSKeyPairGenerator()
Method Detail

genKeyPair

public KeyPair genKeyPair()
Generates an LMOTS key pair, consisting of an LMOTSPublicKey and an LMOTSPrivateKey.
Overrides:
genKeyPair in class KeyPairGenerator
Returns:
the generated key pair

initialize

public void initialize(AlgorithmParameterSpec params,
                       SecureRandom javaRand)
                throws InvalidAlgorithmParameterException
Initialize the key pair generator.
Overrides:
initialize in class KeyPairGenerator
Parameters:
params - the parameters
javaRand - the source of randomness
Throws:
InvalidAlgorithmParameterException - if the parameters are not an instance of LMOTSParameterSpec.

initialize

public void initialize(int keysize,
                       SecureRandom javaRand)
(NOT USED! SEE LMOTSParameterSpec) Initialize the key pair generator with the given seed size and source of randomness.
Overrides:
initialize in class KeyPairGenerator
Parameters:
keysize - the seed size in bits
javaRand - the source of randomness