Class MLDSASigner
java.lang.Object
org.bouncycastle.crypto.signers.MLDSASigner
- All Implemented Interfaces:
Signer
ML-DSA (FIPS 204) signer/verifier.
verifySignature(byte[]) (and verifyMuSignature(byte[], byte[])) return
false uniformly for a cryptographically wrong signature and for one that is
structurally malformed per FIPS 204 Algorithm 8 (wrong length, an out-of-order or duplicate
hint index, or a hint weight exceeding the parameter set's omega) - the two cases are not
distinguished, and neither ever throws for a decode failure. This differs from some other
implementations (e.g. the JDK's own SUN ML-DSA provider), which signal a decode failure
separately from a cryptographic mismatch; see
github #2367.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte[]byte[]generateMuSignature(byte[] mu) byte[]generate a signature for the message we've been loaded with using the key we were initialised with.voidinit(boolean forSigning, CipherParameters param) Initialise the signer for signing or verification.protected byte[]internalGenerateSignature(byte[] message, byte[] random) protected booleaninternalVerifySignature(byte[] message, byte[] signature) voidreset()reset the internal statevoidupdate(byte b) update the internal digest with the byte bvoidupdate(byte[] in, int off, int len) update the internal digest with the byte array inbooleanverifyMu(byte[] mu) booleanverifyMuSignature(byte[] mu, byte[] signature) booleanverifySignature(byte[] signature) return true if the internal state represents the signature described in the passed in array.
-
Constructor Details
-
MLDSASigner
public MLDSASigner()
-
-
Method Details
-
init
Description copied from interface:SignerInitialise the signer for signing or verification. -
update
-
update
-
generateMu
- Throws:
CryptoExceptionDataLengthException
-
generateMuSignature
- Throws:
CryptoExceptionDataLengthException
-
generateSignature
Description copied from interface:Signergenerate a signature for the message we've been loaded with using the key we were initialised with.- Specified by:
generateSignaturein interfaceSigner- Throws:
CryptoExceptionDataLengthException
-
verifyMu
public boolean verifyMu(byte[] mu) -
verifySignature
public boolean verifySignature(byte[] signature) Description copied from interface:Signerreturn true if the internal state represents the signature described in the passed in array.- Specified by:
verifySignaturein interfaceSigner
-
verifyMuSignature
public boolean verifyMuSignature(byte[] mu, byte[] signature) -
reset
-
internalGenerateSignature
protected byte[] internalGenerateSignature(byte[] message, byte[] random) -
internalVerifySignature
protected boolean internalVerifySignature(byte[] message, byte[] signature)
-