org.bouncycastle.pqc.crypto.slhdsa
Class SLHDSASigner
java.lang.Object
|
+--org.bouncycastle.pqc.crypto.slhdsa.SLHDSASigner
- All Implemented Interfaces:
- MessageSigner
- public class SLHDSASigner
- extends java.lang.Object
- implements 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.
Method Summary |
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. |
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SLHDSASigner
public SLHDSASigner()
- Base constructor.
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 interface MessageSigner
- Following copied from interface:
org.bouncycastle.pqc.crypto.MessageSigner
- 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 interface MessageSigner
- Following copied from interface:
org.bouncycastle.pqc.crypto.MessageSigner
- 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 interface MessageSigner
- Following copied from interface:
org.bouncycastle.pqc.crypto.MessageSigner
- 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)