Class GMSSStateAwareSigner

  • All Implemented Interfaces:
    MessageSigner, StateAwareMessageSigner

    public class GMSSStateAwareSigner
    extends java.lang.Object
    implements StateAwareMessageSigner
    This class implements the GMSS signature scheme, but allows multiple signatures to be generated.

    Note: getUpdatedPrivateKey() needs to be called to fetch the current value of the usable private key.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] generateSignature​(byte[] message)
      sign the passed in message (usually the output of a hash function).
      AsymmetricKeyParameter getUpdatedPrivateKey()
      Return the current version of the private key with the updated state.
      void init​(boolean forSigning, CipherParameters param)
      initialise the signer for signature generation or signature verification.
      boolean verifySignature​(byte[] message, byte[] signature)
      verify the message message against the signature value.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • GMSSStateAwareSigner

        public GMSSStateAwareSigner​(Digest digest)
    • Method Detail

      • init

        public void init​(boolean forSigning,
                         CipherParameters param)
        Description copied from interface: MessageSigner
        initialise the signer for signature generation or signature verification.
        Specified by:
        init in interface MessageSigner
        Parameters:
        forSigning - true if we are generating a signature, false otherwise.
        param - key parameters for signature generation.
      • generateSignature

        public byte[] generateSignature​(byte[] message)
        Description copied from interface: MessageSigner
        sign the passed in message (usually the output of a hash function).
        Specified by:
        generateSignature in interface MessageSigner
        Parameters:
        message - the message to be signed.
        Returns:
        the signature of the message
      • verifySignature

        public boolean verifySignature​(byte[] message,
                                       byte[] signature)
        Description copied from interface: MessageSigner
        verify the message message against the signature value.
        Specified by:
        verifySignature in interface MessageSigner
        Parameters:
        message - the message that was supposed to have been signed.
        signature - the signature of the message
      • getUpdatedPrivateKey

        public AsymmetricKeyParameter getUpdatedPrivateKey()
        Description copied from interface: StateAwareMessageSigner
        Return the current version of the private key with the updated state.

        Note: calling this method will effectively disable the Signer from being used for further signature generation without another call to init().

        Specified by:
        getUpdatedPrivateKey in interface StateAwareMessageSigner
        Returns:
        an updated private key object, which can be used for later signature generation.