What is ML-KEM?
A lattice-based key encapsulation mechanism (KEM) standardized by the US NIST in August 2024 as FIPS 203. The name stands for Module-Lattice-Based Key-Encapsulation Mechanism, and it is based on CRYSTALS-Kyber. Its security rests on the difficulty of the Module-LWE problem, recovering a secret from a system of linear equations with small errors added, which is believed to be hard even for quantum computers. There are three parameter sets: ML-KEM-512, ML-KEM-768 and ML-KEM-1024. It is used in protocols such as TLS to replace, or be combined with, ECDHE key exchange.
Japanese name: ML-KEM
ML-KEM appears in 7 practice questions across 3 topics, including Applied Cryptography, Hardware Security: Advanced Topics and Trends, Quantum Computing Hardware.
Field: Applied Cryptography
Typical sizes
For ML-KEM-768 the public key (encapsulation key) is 1,184 bytes, the ciphertext 1,088 bytes and the shared secret 32 bytes. The public value of the elliptic-curve key exchange X25519 is 32 bytes, so much more data is sent. The computation itself, on the other hand, is light and is said to be no slower than elliptic-curve key exchange.
FAQ
Can ML-KEM be used for signatures?
No. ML-KEM is a mechanism for sharing keys. For post-quantum signatures, ML-DSA (FIPS 204) and SLH-DSA (FIPS 205), standardized together with it in August 2024, are used.
Is it the same as quantum key distribution (QKD)?
No. ML-KEM rests on the difficulty of a mathematical problem and runs unchanged on ordinary computers and networks. Quantum key distribution shares keys by using quantum properties of photons and the like, and needs dedicated equipment and channels.