ML-KEM·Key encapsulation·NIST level 5

ML-KEM-1024

ML-KEM (FIPS 203) is a lattice-based key encapsulation mechanism, standardized by NIST in August 2024. It replaces RSA and elliptic-curve Diffie-Hellman for establishing shared secrets in a post-quantum world.

Latest run2026-09-21 11:47 UTC
commit6ed429a
CPU
Xeon Platinum 8488C
Measured on
c7i.large
OS / Kernel
24.04.4 LTS
liboqs
0.15.0
Wall clock
32m 32s
CPU steal
<0.01%

Parameters

Family
ML-KEM
Parameter set
1024
Public key
1.53 KB
Private key
3.09 KB
Ciphertext
1.53 KB
Iterations / op
1,000
liboqs key
ML-KEM-1024

Regulatory approval status

Whether this algorithm family is approved/recommended for use under three regimes. Every badge links to its source — click through before citing this elsewhere.

keygenGenerate a fresh key pair.
131 of 131 runs
Mean
21.6 µs
95% CI on mean
±1.30%
Median
21.1 µs
p95
24.0 µs
p99
43.3 µs
Stdev
4.5 µs
Min
17.2 µs
Ops/sec
46,236

Mean is known to 21.35–21.91 µs across 1,000 iterations. A 95% confidence interval on the mean, not a prediction interval for a single operation. It says how precisely the average is known from this run's samples; the standard deviation says how much the individual samples scattered.

Mean over time

Click any point to view the GitHub Actions run that produced it.

encapEncapsulate: produce a shared secret and ciphertext under the recipient's public key.
131 of 131 runs
Mean
23.6 µs
95% CI on mean
±1.57%
Median
22.9 µs
p95
25.6 µs
p99
44.5 µs
Stdev
6.0 µs
Min
18.5 µs
Ops/sec
42,387

Mean is known to 23.22–23.96 µs across 1,000 iterations. A 95% confidence interval on the mean, not a prediction interval for a single operation. It says how precisely the average is known from this run's samples; the standard deviation says how much the individual samples scattered.

Mean over time

Click any point to view the GitHub Actions run that produced it.

decapDecapsulate: recover the shared secret from the ciphertext using the private key.
131 of 131 runs
Mean
25.9 µs
95% CI on mean
±1.21%
Median
25.1 µs
p95
28.8 µs
p99
55.8 µs
Stdev
5.0 µs
Min
19.4 µs
Ops/sec
38,603

Mean is known to 25.59–26.22 µs across 1,000 iterations. A 95% confidence interval on the mean, not a prediction interval for a single operation. It says how precisely the average is known from this run's samples; the standard deviation says how much the individual samples scattered.

Mean over time

Click any point to view the GitHub Actions run that produced it.