Key Encapsulation
ML-KEM
Module-Lattice-based Key Encapsulation Mechanism · FIPS 203
Mechanism
How it works
Parameter Sets
3 variants shipped
Each variant trades security category against key, ciphertext, or signature size. QNSP exposes all variants via the @cuilabs/liboqs-native binding; tenant crypto-policy determines which are allowed.
| Variant | NIST Level | Public Key | Secret Key | Ciphertext | Note |
|---|---|---|---|---|---|
| ML-KEM-512 | L1 | 800 B | 1,632 B | 768 B | Development / testing tier. Smallest key footprint. |
| ML-KEM-768 | L3 | 1,184 B | 2,400 B | 1,088 B | Production default across QNSP backend services. Recommended for hybrid PQC TLS (X25519+ML-KEM-768). |
| ML-KEM-1024 | L5 | 1,568 B | 3,168 B | 1,568 B | Maximum + Government crypto policy default. Required for `government` tier. |
NIST ACVP
Conformance evidence
QNSP runs the official NIST ACVP test vectors against every shipped algorithm. Live evidence + SHA-3-256 tamper digest at /verify/conformance.
Use Cases
When to use it
- PQC TLS key agreement (hybrid with X25519 for production)
- KMS-wrapped data keys (envelope encryption)
- Vault secret-key derivation
- PQC-encrypted object storage (SSE-X)
- Encrypted vector search index keys
Trade-offs
What you give up, what you get
- Smallest combined key + ciphertext footprint of the FIPS-finalised KEMs
- Highest performance — sub-millisecond keygen / encaps / decaps on modern CPUs
- Module-LWE security assumption is well-studied but newer than RSA / ECDH classical assumptions
FAQ
ML-KEM — frequently asked questions
Concise, source-of-truth answers to the questions buyers and engineers ask most about this algorithm.
What is ML-KEM?
ML-KEM (Module-Lattice-based Key Encapsulation Mechanism) is a lattice based post-quantum key encapsulation mechanism. It is designed to resist attacks from both classical and quantum computers, and QNSP ships 3 of its parameter sets. It is also known as Kyber, CRYSTALS-Kyber, Module-LWE KEM.
Is ML-KEM NIST-standardized?
Yes. ML-KEM is a NIST-standardized algorithm, finalized as FIPS 203. QNSP runs the official NIST ACVP test vectors against it on every release, with the live evidence and a SHA-3-256 tamper digest published at /verify/conformance.
What is ML-KEM used for?
On QNSP, ML-KEM is used for PQC TLS key agreement (hybrid with X25519 for production); KMS-wrapped data keys (envelope encryption). It is available from the default crypto-policy tier upward via the noble and liboqs providers.
References