de.flexiprovider.pqc.hbc.cmss
Class CMSSKeyPairGenerator

java.lang.Object
  |
  +--java.security.KeyPairGeneratorSpi
        |
        +--de.flexiprovider.api.keys.KeyPairGenerator
              |
              +--de.flexiprovider.pqc.hbc.cmss.CMSSKeyPairGenerator
Direct Known Subclasses:
CMSSKeyPairGenerator.SHA1andBiBaOTS, CMSSKeyPairGenerator.SHA1andBiBaOTS50, CMSSKeyPairGenerator.SHA1andBiBaOTS50withSPR, CMSSKeyPairGenerator.SHA1andBiBaOTS80, CMSSKeyPairGenerator.SHA1andBiBaOTS80withSPR, CMSSKeyPairGenerator.SHA1andBiBaOTSwithSPR, CMSSKeyPairGenerator.SHA1andLMOTS, CMSSKeyPairGenerator.SHA1andWinternitzOTS_1, CMSSKeyPairGenerator.SHA1andWinternitzOTS_1withSPR, CMSSKeyPairGenerator.SHA1andWinternitzOTS_2, CMSSKeyPairGenerator.SHA1andWinternitzOTS_2withSPR, CMSSKeyPairGenerator.SHA1andWinternitzOTS_3, CMSSKeyPairGenerator.SHA1andWinternitzOTS_3withSPR, CMSSKeyPairGenerator.SHA1andWinternitzOTS_4, CMSSKeyPairGenerator.SHA1andWinternitzOTS_4withSPR, CMSSKeyPairGenerator.SHA1andWinternitzPRFOTS_16, CMSSKeyPairGenerator.SHA1andWinternitzPRFOTS_2, CMSSKeyPairGenerator.SHA1andWinternitzPRFOTS_20, CMSSKeyPairGenerator.SHA1andWinternitzPRFOTS_3, CMSSKeyPairGenerator.SHA1andWinternitzPRFOTS_4, CMSSKeyPairGenerator.SHA1andWinternitzPRFOTS_5, CMSSKeyPairGenerator.SHA1andWinternitzPRFOTS_8, CMSSKeyPairGenerator.SHA256andLMOTS, CMSSKeyPairGenerator.SHA256andWinternitzOTS_1, CMSSKeyPairGenerator.SHA256andWinternitzOTS_1withSPR, CMSSKeyPairGenerator.SHA256andWinternitzOTS_2, CMSSKeyPairGenerator.SHA256andWinternitzOTS_2withSPR, CMSSKeyPairGenerator.SHA256andWinternitzOTS_3, CMSSKeyPairGenerator.SHA256andWinternitzOTS_3withSPR, CMSSKeyPairGenerator.SHA256andWinternitzOTS_4, CMSSKeyPairGenerator.SHA256andWinternitzOTS_4withSPR, CMSSKeyPairGenerator.SHA256andWinternitzPRFOTS_16, CMSSKeyPairGenerator.SHA256andWinternitzPRFOTS_2, CMSSKeyPairGenerator.SHA256andWinternitzPRFOTS_3, CMSSKeyPairGenerator.SHA256andWinternitzPRFOTS_4, CMSSKeyPairGenerator.SHA256andWinternitzPRFOTS_5, CMSSKeyPairGenerator.SHA256andWinternitzPRFOTS_8, CMSSKeyPairGenerator.SHA384andLMOTS, CMSSKeyPairGenerator.SHA384andWinternitzOTS_1, CMSSKeyPairGenerator.SHA384andWinternitzOTS_1withSPR, CMSSKeyPairGenerator.SHA384andWinternitzOTS_2, CMSSKeyPairGenerator.SHA384andWinternitzOTS_2withSPR, CMSSKeyPairGenerator.SHA384andWinternitzOTS_3, CMSSKeyPairGenerator.SHA384andWinternitzOTS_3withSPR, CMSSKeyPairGenerator.SHA384andWinternitzOTS_4, CMSSKeyPairGenerator.SHA384andWinternitzOTS_4withSPR, CMSSKeyPairGenerator.SHA384andWinternitzPRFOTS_16, CMSSKeyPairGenerator.SHA384andWinternitzPRFOTS_2, CMSSKeyPairGenerator.SHA384andWinternitzPRFOTS_3, CMSSKeyPairGenerator.SHA384andWinternitzPRFOTS_4, CMSSKeyPairGenerator.SHA384andWinternitzPRFOTS_5, CMSSKeyPairGenerator.SHA384andWinternitzPRFOTS_8, CMSSKeyPairGenerator.SHA512andLMOTS, CMSSKeyPairGenerator.SHA512andWinternitzOTS_1, CMSSKeyPairGenerator.SHA512andWinternitzOTS_1withSPR, CMSSKeyPairGenerator.SHA512andWinternitzOTS_2, CMSSKeyPairGenerator.SHA512andWinternitzOTS_2withSPR, CMSSKeyPairGenerator.SHA512andWinternitzOTS_3, CMSSKeyPairGenerator.SHA512andWinternitzOTS_3withSPR, CMSSKeyPairGenerator.SHA512andWinternitzOTS_4, CMSSKeyPairGenerator.SHA512andWinternitzOTS_4withSPR, CMSSKeyPairGenerator.SHA512andWinternitzPRFOTS_16, CMSSKeyPairGenerator.SHA512andWinternitzPRFOTS_2, CMSSKeyPairGenerator.SHA512andWinternitzPRFOTS_3, CMSSKeyPairGenerator.SHA512andWinternitzPRFOTS_4, CMSSKeyPairGenerator.SHA512andWinternitzPRFOTS_5, CMSSKeyPairGenerator.SHA512andWinternitzPRFOTS_8, CMSSKeyPairGenerator.SWIFFTX224andLMOTS, CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_1, CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_1withSPR, CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_2, CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_2withSPR, CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_3, CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_3withSPR, CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_4, CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_4withSPR, CMSSKeyPairGenerator.SWIFFTX256andLMOTS, CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_1, CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_1withSPR, CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_2, CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_2withSPR, CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_3, CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_3withSPR, CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_4, CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_4withSPR, CMSSKeyPairGenerator.SWIFFTX384andLMOTS, CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_1, CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_1withSPR, CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_2, CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_2withSPR, CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_3, CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_3withSPR, CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_4, CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_4withSPR, CMSSKeyPairGenerator.SWIFFTX512andLMOTS, CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_1, CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_1withSPR, CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_2, CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_2withSPR, CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_3, CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_3withSPR, CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_4, CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_4withSPR

public class CMSSKeyPairGenerator
extends KeyPairGenerator

This class implements key pair generation of the Coronado-Merkle signature scheme (CMSS). The class extends the KeyPairGeneratorSpi class. It is able to use the SPR hash functions as described in E. Dahmen et al., "Digital Signatures Out of Second-Preimage Resistant Hash Functions".

The CMSSKeyPairGenerator can be used as follows:

1. get instance of CMSS key pair generator:
KeyPairGenerator kpg = KeyPairGenerator.getInstance("SHA1andWinternitzOTS_1", "FlexiPQC");
2. initialize the KPG with the desired height of the trees:
kpg.initialize(heightOfTrees);
3. create CMSS key pair:
KeyPair keyPair = kpg.generateKeyPair();
4. get the encoded private and public keys from the key pair:
encodedPublicKey = keyPair.getPublic().getEncoded();
encodedPrivateKey = keyPair.getPrivate().getEncoded();

Author:
Elena Klintsevich
See Also:
CMSSSignature

Inner Class Summary
static class CMSSKeyPairGenerator.SHA1andBiBaOTS
          CMSSKeyPairGenerator with SHA1 message digest, BiBa OTS and SHA1PRNG
static class CMSSKeyPairGenerator.SHA1andBiBaOTS50
          CMSSKeyPairGenerator with SHA1 message digest, BiBa OTS (security level 50) and SHA1PRNG
static class CMSSKeyPairGenerator.SHA1andBiBaOTS50withSPR
          CMSSKeyPairGenerator with SHA1 message digest, BiBa OTS (security level 50) and SHA1PRNG with SPR
static class CMSSKeyPairGenerator.SHA1andBiBaOTS80
          CMSSKeyPairGenerator with SHA1 message digest, BiBa OTS (security level 80) and SHA1PRNG
static class CMSSKeyPairGenerator.SHA1andBiBaOTS80withSPR
          CMSSKeyPairGenerator with SHA1 message digest, BiBa OTS (security level 80) and SHA1PRNG with SPR
static class CMSSKeyPairGenerator.SHA1andBiBaOTSwithSPR
          CMSSKeyPairGenerator with SHA1 message digest, BiBa OTS and SHA1PRNG with SPR
static class CMSSKeyPairGenerator.SHA1andLMOTS
          CMSSKeyPairGenerator with SHA1 message digest, LMOTS OTS, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA1andWinternitzOTS_1
          CMSSKeyPairGenerator with SHA1 message digest, Winternitz OTS with parameter w=1, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA1andWinternitzOTS_1withSPR
          CMSSKeyPairGenerator with SHA1 message digest, Winternitz OTS with parameter w=1, SHA1PRNG and SPR
static class CMSSKeyPairGenerator.SHA1andWinternitzOTS_2
          CMSSKeyPairGenerator with SHA1 message digest, Winternitz OTS with parameter w=2, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA1andWinternitzOTS_2withSPR
          CMSSKeyPairGenerator with SHA1 message digest, Winternitz OTS with parameter w=2, SHA1PRNG and SPR
static class CMSSKeyPairGenerator.SHA1andWinternitzOTS_3
          CMSSKeyPairGenerator with SHA1 message digest, Winternitz OTS with parameter w=3, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA1andWinternitzOTS_3withSPR
          CMSSKeyPairGenerator with SHA1 message digest, Winternitz OTS with parameter w=3, SHA1PRNG and SPR
static class CMSSKeyPairGenerator.SHA1andWinternitzOTS_4
          CMSSKeyPairGenerator with SHA1 message digest, Winternitz OTS with parameter w=4, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA1andWinternitzOTS_4withSPR
          CMSSKeyPairGenerator with SHA1 message digest, Winternitz OTS with parameter w=4, SHA1PRNG and SPR
static class CMSSKeyPairGenerator.SHA1andWinternitzPRFOTS_16
          CMSSKeyPairGenerator with SHA1 message digest, Winternitz2 OTS with parameter w=16, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA1andWinternitzPRFOTS_2
          CMSSKeyPairGenerator with SHA1 message digest, Winternitz2 OTS with parameter w=2, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA1andWinternitzPRFOTS_20
          CMSSKeyPairGenerator with SHA1 message digest, Winternitz2 OTS with parameter w=16, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA1andWinternitzPRFOTS_3
          CMSSKeyPairGenerator with SHA1 message digest, Winternitz2 OTS with parameter w=3, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA1andWinternitzPRFOTS_4
          CMSSKeyPairGenerator with SHA1 message digest, Winternitz2 OTS with parameter w=4, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA1andWinternitzPRFOTS_5
          CMSSKeyPairGenerator with SHA1 message digest, Winternitz2 OTS with parameter w=5, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA1andWinternitzPRFOTS_8
          CMSSKeyPairGenerator with SHA1 message digest, Winternitz2 OTS with parameter w=8, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA256andLMOTS
          CMSSKeyPairGenerator with SHA256 message digest, LMOTS OTS, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA256andWinternitzOTS_1
          CMSSKeyPairGenerator with SHA256 message digest, Winternitz OTS with parameter w=1, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA256andWinternitzOTS_1withSPR
          CMSSKeyPairGenerator with SHA256 message digest, Winternitz OTS with parameter w=1, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA256andWinternitzOTS_2
          CMSSKeyPairGenerator with SHA256 message digest, Winternitz OTS with parameter w=2, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA256andWinternitzOTS_2withSPR
          CMSSKeyPairGenerator with SHA256 message digest, Winternitz OTS with parameter w=2, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA256andWinternitzOTS_3
          CMSSKeyPairGenerator with SHA256 message digest, Winternitz OTS with parameter w=3, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA256andWinternitzOTS_3withSPR
          CMSSKeyPairGenerator with SHA256 message digest, Winternitz OTS with parameter w=3, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA256andWinternitzOTS_4
          CMSSKeyPairGenerator with SHA256 message digest, Winternitz OTS with parameter w=4, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA256andWinternitzOTS_4withSPR
          CMSSKeyPairGenerator with SHA256 message digest, Winternitz OTS with parameter w=4, SHA1PRNG and SPR
static class CMSSKeyPairGenerator.SHA256andWinternitzPRFOTS_16
          CMSSKeyPairGenerator with SHA256 message digest, Winternitz2 OTS with parameter w=16, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA256andWinternitzPRFOTS_2
          CMSSKeyPairGenerator with SHA256 message digest, Winternitz2 OTS with parameter w=2, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA256andWinternitzPRFOTS_3
          CMSSKeyPairGenerator with SHA256 message digest, Winternitz2 OTS with parameter w=3, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA256andWinternitzPRFOTS_4
          CMSSKeyPairGenerator with SHA256 message digest, Winternitz2 OTS with parameter w=4, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA256andWinternitzPRFOTS_5
          CMSSKeyPairGenerator with SHA256 message digest, Winternitz2 OTS with parameter w=5, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA256andWinternitzPRFOTS_8
          CMSSKeyPairGenerator with SHA256 message digest, Winternitz2 OTS with parameter w=8, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA384andLMOTS
          CMSSKeyPairGenerator with SHA384 message digest, LMOTS OTS, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA384andWinternitzOTS_1
          CMSSKeyPairGenerator with SHA384 message digest, Winternitz OTS with parameter w=1, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA384andWinternitzOTS_1withSPR
          CMSSKeyPairGenerator with SHA384 message digest, Winternitz OTS with parameter w=1, SHA1PRNG and SPR
static class CMSSKeyPairGenerator.SHA384andWinternitzOTS_2
          CMSSKeyPairGenerator with SHA384 message digest, Winternitz OTS with parameter w=2, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA384andWinternitzOTS_2withSPR
          CMSSKeyPairGenerator with SHA384 message digest, Winternitz OTS with parameter w=2, SHA1PRNG and SPR
static class CMSSKeyPairGenerator.SHA384andWinternitzOTS_3
          CMSSKeyPairGenerator with SHA384 message digest, Winternitz OTS with parameter w=3, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA384andWinternitzOTS_3withSPR
          CMSSKeyPairGenerator with SHA384 message digest, Winternitz OTS with parameter w=3, SHA1PRNG and SPR
static class CMSSKeyPairGenerator.SHA384andWinternitzOTS_4
          CMSSKeyPairGenerator with SHA384 message digest, Winternitz OTS with parameter w=4, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA384andWinternitzOTS_4withSPR
          CMSSKeyPairGenerator with SHA384 message digest, Winternitz OTS with parameter w=4, SHA1PRNG and SPR
static class CMSSKeyPairGenerator.SHA384andWinternitzPRFOTS_16
          CMSSKeyPairGenerator with SHA384 message digest, Winternitz2 OTS with parameter w=16, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA384andWinternitzPRFOTS_2
          CMSSKeyPairGenerator with SHA384 message digest, Winternitz2 OTS with parameter w=2, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA384andWinternitzPRFOTS_3
          CMSSKeyPairGenerator with SHA384 message digest, Winternitz2 OTS with parameter w=3, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA384andWinternitzPRFOTS_4
          CMSSKeyPairGenerator with SHA384 message digest, Winternitz2 OTS with parameter w=4, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA384andWinternitzPRFOTS_5
          CMSSKeyPairGenerator with SHA384 message digest, Winternitz2 OTS with parameter w=5, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA384andWinternitzPRFOTS_8
          CMSSKeyPairGenerator with SHA384 message digest, Winternitz2 OTS with parameter w=8, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA512andLMOTS
          CMSSKeyPairGenerator with SHA512 message digest, LMOTS OTS, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA512andWinternitzOTS_1
          CMSSKeyPairGenerator with SHA512 message digest, Winternitz OTS with parameter w=1, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA512andWinternitzOTS_1withSPR
          CMSSKeyPairGenerator with SHA512 message digest, Winternitz OTS with parameter w=1, SHA1PRNG and SPR
static class CMSSKeyPairGenerator.SHA512andWinternitzOTS_2
          CMSSKeyPairGenerator with SHA512 message digest, Winternitz OTS with parameter w=2, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA512andWinternitzOTS_2withSPR
          CMSSKeyPairGenerator with SHA512 message digest, Winternitz OTS with parameter w=2, SHA1PRNG and SPR
static class CMSSKeyPairGenerator.SHA512andWinternitzOTS_3
          CMSSKeyPairGenerator with SHA512 message digest, Winternitz OTS with parameter w=3, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA512andWinternitzOTS_3withSPR
          CMSSKeyPairGenerator with SHA512 message digest, Winternitz OTS with parameter w=3, SHA1PRNG and SPR
static class CMSSKeyPairGenerator.SHA512andWinternitzOTS_4
          CMSSKeyPairGenerator with SHA512 message digest, Winternitz OTS with parameter w=4, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA512andWinternitzOTS_4withSPR
          CMSSKeyPairGenerator with SHA512 message digest, Winternitz OTS with parameter w=4, SHA1PRNG and SPR
static class CMSSKeyPairGenerator.SHA512andWinternitzPRFOTS_16
          CMSSKeyPairGenerator with SHA512 message digest, Winternitz2 OTS with parameter w=16, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA512andWinternitzPRFOTS_2
          CMSSKeyPairGenerator with SHA512 message digest, Winternitz2 OTS with parameter w=2, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA512andWinternitzPRFOTS_3
          CMSSKeyPairGenerator with SHA512 message digest, Winternitz2 OTS with parameter w=3, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA512andWinternitzPRFOTS_4
          CMSSKeyPairGenerator with SHA512 message digest, Winternitz2 OTS with parameter w=4, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA512andWinternitzPRFOTS_5
          CMSSKeyPairGenerator with SHA512 message digest, Winternitz2 OTS with parameter w=5, and SHA1PRNG
static class CMSSKeyPairGenerator.SHA512andWinternitzPRFOTS_8
          CMSSKeyPairGenerator with SHA512 message digest, Winternitz2 OTS with parameter w=8, and SHA1PRNG
static class CMSSKeyPairGenerator.SWIFFTX224andLMOTS
          CMSSKeyPairGenerator with SWIFFTX224 message digest, LMOTS OTS, and SWIFFTX224PRNG
static class CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_1
          CMSSKeyPairGenerator with SWIFFTX224 message digest, Winternitz OTS with parameter w=1, and SWIFFTX224PRNG
static class CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_1withSPR
          CMSSKeyPairGenerator with SWIFFTX224 message digest, Winternitz OTS with parameter w=1, SWIFFTX224PRNG and SPR
static class CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_2
          CMSSKeyPairGenerator with SWIFFTX224 message digest, Winternitz OTS with parameter w=2, and SWIFFTX224PRNG
static class CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_2withSPR
          CMSSKeyPairGenerator with SWIFFTX224 message digest, Winternitz OTS with parameter w=2, SWIFFTX224PRNG and SPR
static class CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_3
          CMSSKeyPairGenerator with SWIFFTX224 message digest, Winternitz OTS with parameter w=3, and SWIFFTX224PRNG
static class CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_3withSPR
          CMSSKeyPairGenerator with SWIFFTX224 message digest, Winternitz OTS with parameter w=3, SWIFFTX224PRNG and SPR
static class CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_4
          CMSSKeyPairGenerator with SWIFFTX224 message digest, Winternitz OTS with parameter w=4, and SWIFFTX224PRNG
static class CMSSKeyPairGenerator.SWIFFTX224andWinternitzOTS_4withSPR
          CMSSKeyPairGenerator with SWIFFTX224 message digest, Winternitz OTS with parameter w=4, SWIFFTX224PRNG and SPR
static class CMSSKeyPairGenerator.SWIFFTX256andLMOTS
          CMSSKeyPairGenerator with SWIFFTX256 message digest, LMOTS OTS, and SWIFFTX256PRNG
static class CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_1
          CMSSKeyPairGenerator with SWIFFTX256 message digest, Winternitz OTS with parameter w=1, and SWIFFTX256PRNG
static class CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_1withSPR
          CMSSKeyPairGenerator with SWIFFTX256 message digest, Winternitz OTS with parameter w=1, SWIFFTX224PRNG and SPR
static class CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_2
          CMSSKeyPairGenerator with SWIFFTX256 message digest, Winternitz OTS with parameter w=2, and SWIFFTX256PRNG
static class CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_2withSPR
          CMSSKeyPairGenerator with SWIFFTX256 message digest, Winternitz OTS with parameter w=2, SWIFFTX224PRNG and SPR
static class CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_3
          CMSSKeyPairGenerator with SWIFFTX256 message digest, Winternitz OTS with parameter w=3, and SWIFFTX256PRNG
static class CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_3withSPR
          CMSSKeyPairGenerator with SWIFFTX256 message digest, Winternitz OTS with parameter w=3, SWIFFTX224PRNG and SPR
static class CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_4
          CMSSKeyPairGenerator with SWIFFTX256 message digest, Winternitz OTS with parameter w=4, and SWIFFTX256PRNG
static class CMSSKeyPairGenerator.SWIFFTX256andWinternitzOTS_4withSPR
          CMSSKeyPairGenerator with SWIFFTX256 message digest, Winternitz OTS with parameter w=4, SWIFFTX224PRNG and SPR
static class CMSSKeyPairGenerator.SWIFFTX384andLMOTS
          CMSSKeyPairGenerator with SWIFFTX384 message digest, LMOTS OTS, and SWIFFTX384PRNG
static class CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_1
          CMSSKeyPairGenerator with SWIFFTX384 message digest, Winternitz OTS with parameter w=1, and SWIFFTX384PRNG
static class CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_1withSPR
          CMSSKeyPairGenerator with SWIFFTX384 message digest, Winternitz OTS with parameter w=1, SWIFFTX224PRNG and SPR
static class CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_2
          CMSSKeyPairGenerator with SWIFFTX384 message digest, Winternitz OTS with parameter w=2, and SWIFFTX384PRNG
static class CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_2withSPR
          CMSSKeyPairGenerator with SWIFFTX384 message digest, Winternitz OTS with parameter w=2, SWIFFTX224PRNG and SPR
static class CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_3
          CMSSKeyPairGenerator with SWIFFTX384 message digest, Winternitz OTS with parameter w=3, and SWIFFTX384PRNG
static class CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_3withSPR
          CMSSKeyPairGenerator with SWIFFTX384 message digest, Winternitz OTS with parameter w=3, SWIFFTX224PRNG and SPR
static class CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_4
          CMSSKeyPairGenerator with SWIFFTX384 message digest, Winternitz OTS with parameter w=4, and SWIFFTX384PRNG
static class CMSSKeyPairGenerator.SWIFFTX384andWinternitzOTS_4withSPR
          CMSSKeyPairGenerator with SWIFFTX384 message digest, Winternitz OTS with parameter w=4, SWIFFTX224PRNG and SPR
static class CMSSKeyPairGenerator.SWIFFTX512andLMOTS
          CMSSKeyPairGenerator with SWIFFTX512 message digest, LMOTS OTS, and SWIFFTX512PRNG
static class CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_1
          CMSSKeyPairGenerator with SWIFFTX512 message digest, Winternitz OTS with parameter w=1, and SWIFFTX512PRNG
static class CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_1withSPR
          CMSSKeyPairGenerator with SWIFFTX512 message digest, Winternitz OTS with parameter w=1, SWIFFTX224PRNG and SPR
static class CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_2
          CMSSKeyPairGenerator with SWIFFTX512 message digest, Winternitz OTS with parameter w=2, and SWIFFTX512PRNG
static class CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_2withSPR
          CMSSKeyPairGenerator with SWIFFTX512 message digest, Winternitz OTS with parameter w=2, SWIFFTX224PRNG and SPR
static class CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_3
          CMSSKeyPairGenerator with SWIFFTX512 message digest, Winternitz OTS with parameter w=3, and SWIFFTX512PRNG
static class CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_3withSPR
          CMSSKeyPairGenerator with SWIFFTX512 message digest, Winternitz OTS with parameter w=3, SWIFFTX224PRNG and SPR
static class CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_4
          CMSSKeyPairGenerator with SWIFFTX512 message digest, Winternitz OTS with parameter w=4, and SWIFFTX512PRNG
static class CMSSKeyPairGenerator.SWIFFTX512andWinternitzOTS_4withSPR
          CMSSKeyPairGenerator with SWIFFTX512 message digest, Winternitz OTS with parameter w=4, SWIFFTX224PRNG and SPR
 
Constructor Summary
protected CMSSKeyPairGenerator(java.lang.String oidString, MessageDigest md, OTS ots, boolean useSpr)
          Constructor.
 
Method Summary
 KeyPair genKeyPair()
          Generate a CMSS2 key pair.
 void initialize(AlgorithmParameterSpec params, SecureRandom secureRandom)
          Initialize the key pair generator.
 void initialize(int heightOfTrees, SecureRandom secureRandom)
          Initialize the key pair generator.
 
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

CMSSKeyPairGenerator

protected CMSSKeyPairGenerator(java.lang.String oidString,
                               MessageDigest md,
                               OTS ots,
                               boolean useSpr)
Constructor.
Parameters:
oidString - the OID string identifying the algorithm
md - the message digest used to build the authentication trees and for the OTS
ots - the underlying OTS
useSpr - use SPR-CMSS (true) or not (false)
Method Detail

initialize

public void initialize(int heightOfTrees,
                       SecureRandom secureRandom)
Initialize the key pair generator.
Overrides:
initialize in class KeyPairGenerator
Parameters:
heightOfTrees - the height of the authentication trees
secureRandom - the PRNG used for key generation

initialize

public void initialize(AlgorithmParameterSpec params,
                       SecureRandom secureRandom)
                throws InvalidAlgorithmParameterException
Initialize the key pair generator.
Overrides:
initialize in class KeyPairGenerator
Parameters:
params - an instance of CMSSParameterSpec
secureRandom - the PRNG used for key generation
Throws:
InvalidAlgorithmParameterException - if the given AlgorithmParameterSpec object is not an instance of CMSSParameterSpec
See Also:
CMSSParameterSpec

genKeyPair

public KeyPair genKeyPair()
Generate a CMSS2 key pair. The public key is an instance of CMSS2PublicKey, the private key is an instance of CMSS2PrivateKey.
Overrides:
genKeyPair in class KeyPairGenerator
Returns:
the generated key pair
See Also:
CMSS2PublicKey, CMSS2PrivateKey