Class SLHDSASigner
java.lang.Object
org.bouncycastle.pqc.crypto.slhdsa.SLHDSASigner
- All Implemented Interfaces:
MessageSigner
SLH-DA signer.
This version is based on the 3rd submission with deference to the updated reference implementation on github as at November 9th 2021. This version includes the changes for the countermeasure for the long-message second preimage attack - see "https://github.com/sphincs/sphincsplus/commit/61cd2695c6f984b4f4d6ed675378ed9a486cbede" for further details.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbyte[]
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.protected byte[]
internalGenerateSignature
(byte[] message, byte[] optRand) protected boolean
internalVerifySignature
(byte[] message, byte[] signature) boolean
verifySignature
(byte[] message, byte[] signature) verify the message message against the signature value.
-
Constructor Details
-
SLHDSASigner
public SLHDSASigner()Base constructor.
-
-
Method Details
-
init
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
-
internalVerifySignature
protected boolean internalVerifySignature(byte[] message, byte[] signature) -
internalGenerateSignature
protected byte[] internalGenerateSignature(byte[] message, byte[] optRand)
-