Head-to-head · measured daily

Every PQC pair, measured.

7 head-to-head comparisons across ML-KEM, ML-DSA, and SLH-DSA. Each opens a side-by-side detail view with latency, percentiles, and key sizes — measured daily on the same hardware.

Run date
2026-09-21
Commit
Host
Xeon Platinum 8488C
Instance
c7i.large
liboqs
0.15.0
CPU steal
<0.01%
The board

Every algorithm, one metric at a time.

Pick the metric and operation you actually care about. The axis is yours to set — a log axis is offered by default only where a linear one would hide the small bars.

LatticeHash-basedMean latency · µs · keygen · log axis
ML-KEM-512
Lattice · level 1
7.7 µs
ML-KEM-768
Lattice · level 3
17.1 µs
ML-KEM-1024
Lattice · level 5
21.6 µs
ML-DSA-44
Lattice · level 2
21.9 µs
ML-DSA-65
Lattice · level 3
30.3 µs
ML-DSA-87
Lattice · level 5
43.5 µs
1.75 ms
111.54 ms

Key encapsulation mechanisms

3 ML-KEM pairs measured daily across NIST security levels.

ML-KEM across security levels

Same lattice scheme, different NIST categories. The cost of higher security.

Digital signatures

4 signature pairs across ML-DSA and SLH-DSA — lattice-based and hash-based schemes side by side.

ML-DSA across security levels

Same lattice scheme, different NIST categories. Higher security means bigger keys and slower signing.

SLH-DSA: fast vs small

The defining SLH-DSA tradeoff — fast signatures with larger signature sizes, or small signatures with much slower signing.

Hybrid vs classical

What turning it on costs inside a real handshake.

Amplification factor is server bytes returned per client byte sent — not published elsewhere for these suites.

Hybrid vs classical.

Real TLS and SSH handshake suites — hybrid post-quantum key exchange next to the classical baseline everyone already runs. Amplification factor (server bytes returned per byte the client sends) is a first-to-publish number here: not measured elsewhere for these suites.

TLSX25519MLKEM768hybrid
vs classical+27.9%median of 9 runs · +16.1% to +76.6%latest +53.1% · 21 Sep 2026 · 6ed429a
median latency244.2 µs
key-exchange payload bytes2.28 KB
amplification factor0.92×
client → server1.19 KB → 1.09 KB
vs pure PQC alone7.00× slower
commit 6ed429a
TLSSecP256r1MLKEM768hybrid
vs classical+48.4%median of 8 runs · +8.5% to +77.7%latest +12.1% · 21 Sep 2026 · 6ed429a
median latency178.8 µs
key-exchange payload bytes2.35 KB
amplification factor0.92×
client → server1.22 KB → 1.13 KB
vs pure PQC alone5.12× slower
commit 6ed429a
TLSMLKEM768pure PQC
vs classical−72.2%median of 9 runs · −81.5% to −60.3%latest −78.1% · 21 Sep 2026 · 6ed429a
median latency34.9 µs
key-exchange payload bytes2.22 KB
amplification factor0.92×
client → server1.16 KB → 1.06 KB
commit 6ed429a
TLSX25519classical
classical baseline
median latency159.5 µs
key-exchange payload bytes64 B
amplification factor1.00×
client → server32 B → 32 B
commit 6ed429a
SSHmlkem768x25519-sha256hybrid
vs classical+54.1%median of 7 runs · +1.2% to +79.3%latest run withheld · 21 Sep 2026 · 6ed429a
median latency162.9 µs
key-exchange payload bytes2.28 KB
amplification factor0.92×
client → server1.19 KB → 1.09 KB
vs pure PQC aloneno pure-PQC suite measured
commit 6ed429a
SSHcurve25519-sha256classical
classical baseline
median latency165.3 µs
key-exchange payload bytes64 B
amplification factor1.00×
client → server32 B → 32 B
commit 6ed429a
Hash-based signatures (LMS/XMSS)queued — no measurements yet

Stateful signatures are not fully supported by the loaded liboqs: liboqs must be built with -DOQS_HAZARDOUS_EXPERIMENTAL_ENABLE_SIG_STFL_KEY_SIG_GEN=ON to use StatefulSignature for LMS_SHA256_H10_W8. Shown here rather than left silently absent — see /pqc-arena/protocols once measurements land.

Detail view

Side by side.

Pick any two PQC algorithms and an operation. Numbers come from the latest daily run, same hardware, same iteration count.

Algorithm A
Algorithm B
Operation
ML-DSA-65· NIST L3·SignaturevsSLH-DSA-SHAKE-128s· NIST L1·Signature

Different families AND different NIST levels. Useful for raw performance intuition, but adjust mentally for the security delta.

Headline · keygen mean

ML-DSA-65 is 3.7k× faster than SLH-DSA-SHAKE-128s on keygen.

Latency profile

keygen mean / p95 / p99 (µs)

Log scale — values span >100×
ML-DSA-65SLH-DSA-SHAKE-128s

Full statistics

MetricML-DSA-65SLH-DSA-SHAKE-128s
Mean30.3 µs111.54 ms
Median28.7 µs111.48 ms
p9539.8 µs112.20 ms
p9949.0 µs113.34 ms
Stdev5.0 µs524.2 µs
Ops / sec33,0009.0
Public key1.91 KB32 B
Signature3.23 KB7.67 KB