public class SPHINCS256Signer extends java.lang.Object implements MessageSigner
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 and Description |
---|
SPHINCS256Signer(Digest nDigest,
Digest twoNDigest)
Base constructor.
|
Modifier and Type | Method and 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.
|
public void init(boolean forSigning, CipherParameters param)
MessageSigner
init
in interface MessageSigner
forSigning
- true if we are generating a signature, false
otherwise.param
- key parameters for signature generation.public byte[] generateSignature(byte[] message)
MessageSigner
generateSignature
in interface MessageSigner
message
- the message to be signed.public boolean verifySignature(byte[] message, byte[] signature)
MessageSigner
verifySignature
in interface MessageSigner
message
- the message that was supposed to have been signed.signature
- the signature of the message