Bouncy Castle Cryptography Library 1.79

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.


Constructor Summary
SLHDSASigner()
          Base constructor.
 
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
 

Constructor Detail

SLHDSASigner

public SLHDSASigner()
Base constructor.
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 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)

Bouncy Castle Cryptography Library 1.79