package org.bouncycastle.pqc.crypto;

import org.bouncycastle.crypto.CipherParameters;

Base interface for a PQC signing algorithm.
/** * Base interface for a PQC signing algorithm. */
public interface MessageSigner {
initialise the signer for signature generation or signature verification.
Params:
  • forSigning – true if we are generating a signature, false otherwise.
  • param – key parameters for signature generation.
/** * initialise the signer for signature generation or signature * verification. * * @param forSigning true if we are generating a signature, false * otherwise. * @param param key parameters for signature generation. */
public void init(boolean forSigning, CipherParameters param);
sign the passed in message (usually the output of a hash function).
Params:
  • message – the message to be signed.
Returns:the signature of the message
/** * sign the passed in message (usually the output of a hash function). * * @param message the message to be signed. * @return the signature of the message */
public byte[] generateSignature(byte[] message);
verify the message message against the signature value.
Params:
  • message – the message that was supposed to have been signed.
  • signature – the signature of the message
/** * verify the message message against the signature value. * * @param message the message that was supposed to have been signed. * @param signature the signature of the message */
public boolean verifySignature(byte[] message, byte[] signature); }