Class GMSSStateAwareSigner

  • All Implemented Interfaces:
    MessageSigner, StateAwareMessageSigner

    public class GMSSStateAwareSigner
    extends 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.

    • 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.