Class SPHINCS256Signer
- java.lang.Object
-
- org.bouncycastle.pqc.crypto.sphincs.SPHINCS256Signer
-
- All Implemented Interfaces:
MessageSigner
public class SPHINCS256Signer extends java.lang.Object implements MessageSigner
SPHINCS-256 signer.This implementation is heavily based on the reference implementation in SUPERCOP, the main difference being the digests used for message hashing and tree construction are now configurable (within limits[]) and that the implementation produces detached signatures.
The SPHINCS reference implementation is public domain, as per the statement in the second last paragraph of section 1 in https://eprint.iacr.org/2014/795.pdf
-
-
Constructor Summary
Constructors Constructor Description SPHINCS256Signer(Digest nDigest, Digest twoNDigest)
Base constructor.
-
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).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.
-
-
-
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 interfaceMessageSigner
- 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 interfaceMessageSigner
- 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 interfaceMessageSigner
- Parameters:
message
- the message that was supposed to have been signed.signature
- the signature of the message
-
-