Bouncy Castle Cryptography Library 1.85

org.bouncycastle.crypto.signers
Class HashMLDSASigner

java.lang.Object
  extended byorg.bouncycastle.crypto.signers.HashMLDSASigner
All Implemented Interfaces:
Signer

public class HashMLDSASigner
extends java.lang.Object
implements Signer


Constructor Summary
HashMLDSASigner()
           
 
Method Summary
 byte[] generateSignature()
          generate a signature for the message we've been loaded with using the key we were initialised with.
 byte[] generateSignature(byte[] hash)
          Sign a message that has already been hashed externally.
 void init(boolean forSigning, CipherParameters param)
          Initialise the signer for signing or verification.
 void reset()
          reset the internal state
 void update(byte b)
          update the internal digest with the byte b
 void update(byte[] in, int off, int len)
          update the internal digest with the byte array in
 boolean verifySignature(byte[] signature)
          return true if the internal state represents the signature described in the passed in array.
 boolean verifySignature(byte[] hash, byte[] signature)
          Verify a signature over a message that has already been hashed externally; companion to generateSignature(byte[]).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HashMLDSASigner

public HashMLDSASigner()
Method Detail

init

public void init(boolean forSigning,
                 CipherParameters param)
Description copied from interface: Signer
Initialise the signer for signing or verification.

Specified by:
init in interface Signer
Parameters:
forSigning - true if for signing, false otherwise
param - necessary parameters.

update

public void update(byte b)
Description copied from interface: Signer
update the internal digest with the byte b

Specified by:
update in interface Signer

update

public void update(byte[] in,
                   int off,
                   int len)
Description copied from interface: Signer
update the internal digest with the byte array in

Specified by:
update in interface Signer

generateSignature

public byte[] generateSignature()
                         throws CryptoException,
                                DataLengthException
Description copied from interface: Signer
generate a signature for the message we've been loaded with using the key we were initialised with.

Specified by:
generateSignature in interface Signer
Throws:
CryptoException
DataLengthException

verifySignature

public boolean verifySignature(byte[] signature)
Description copied from interface: Signer
return true if the internal state represents the signature described in the passed in array.

Specified by:
verifySignature in interface Signer

generateSignature

public byte[] generateSignature(byte[] hash)
                         throws CryptoException,
                                DataLengthException
Sign a message that has already been hashed externally. See FIPS 204 sec. 5.4 (HashML-DSA): the caller supplies the digest of the message and the signer absorbs it together with the DER encoding of the digest algorithm's OID (derived from the parameter set this signer was initialised with) into the mu computation, just as the streaming form would. The supplied hash must have been produced with the digest algorithm matching the configured parameter set.

Parameters:
hash - the digest of the message.
Returns:
the ML-DSA signature.
Throws:
CryptoException
DataLengthException

verifySignature

public boolean verifySignature(byte[] hash,
                               byte[] signature)
Verify a signature over a message that has already been hashed externally; companion to generateSignature(byte[]).

Parameters:
hash - the digest of the message.
signature - the candidate signature.
Returns:
true if the signature is valid.

reset

public void reset()
reset the internal state

Specified by:
reset in interface Signer

Bouncy Castle Cryptography Library 1.85