ML-DSA (source code)
= ML-DSA
{c}
<ML-DSA> is the module-lattice <digital signature> scheme standardized in FIPS204 in2024, derived from <CRYSTALS-Dilithium>. Key generation creates a public verification key and a secret signing key. Signing combines a sampled masking vector with a message-derived challenge; bounds and <rejection sampling> prevent unsuitable responses from revealing the secret. Verification reconstructs the commitment information and checks the challenge and response bounds.<Module-Lattice-Based Digital Signature Standard by National Institute of Standards and Technology>[§§2,5–7, especially ML-DSA.Sign_internal]{ref}
A valid signature authenticates a message under a particular <public key>; it does not hide the message or independently establish whose <public key> was supplied. The standardized parameter sets ML-DSA-44,65 and87 have different key/signature sizes and security targets. Implementations must follow the standardized encodings and checks rather than assuming every older Dilithium implementation accepts the same byte <string>[strings].
Back to article page