Class MQOMSigner

java.lang.Object
org.bouncycastle.pqc.crypto.mqom.MQOMSigner
All Implemented Interfaces:
MessageSigner

public class MQOMSigner extends Object implements MessageSigner
MQOM v2.1 lightweight signer. Implements the BCPQC one-shot MessageSigner contract: generateSignature(byte[]) takes the whole message and verifySignature(byte[], byte[]) takes the message plus the candidate signature. Messages are hashed internally per the spec (Hash2 in algorithm 3).

Per-call randomness (mseed, salt) is drawn from the SecureRandom supplied via ParametersWithRandom; pass an explicit ParametersWithRandom to make signing deterministic or to inject a KAT-style fixed RNG.

  • Constructor Details

    • MQOMSigner

      public MQOMSigner()
  • Method Details

    • 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