org.bouncycastle.pqc.crypto.MessageSigner Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-jdk15to18 Show documentation
Show all versions of bcprov-jdk15to18 Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.8.
package org.bouncycastle.pqc.crypto;
import org.bouncycastle.crypto.CipherParameters;
/**
* Base interface for a PQC signing algorithm.
*/
public interface MessageSigner
{
/**
* 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).
*
* @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.
*
* @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);
}