Algorithm Comparison
A master comparison of standardized and candidate post-quantum schemes alongside the classical baselines they replace. Sizes are approximate, in bytes, for a representative parameter set; refer to each algorithm's specification for exact figures across all parameter sets. For full parameter tables see parameters.html.
Classical baselines
These are the algorithms PQC is intended to replace for asymmetric operations. They are compact but fall to Shor's algorithm.
| Name | Type | Public key (B) | Sig / ciphertext (B) | Quantum status |
|---|---|---|---|---|
RSA-2048 | Sig + KEM-like | 256 | 256 | Broken by Shor |
Ed25519 | Signature | 32 | 64 | Broken by Shor |
X25519 | Key exchange | 32 | 32 | Broken by Shor |
Master comparison — PQC schemes
| Name | KEM / Sig | Family | NIST level(s) | Public key (B) | Ciphertext / sig (B) | Status | Notes |
|---|---|---|---|---|---|---|---|
ML-KEM-512 | KEM | Lattice (Module-LWE) | 1 | 800 | 768 | FIPS 203 | Was Kyber; fast, small |
ML-KEM-768 | KEM | Lattice (Module-LWE) | 3 | 1184 | 1088 | FIPS 203 | Common default |
ML-KEM-1024 | KEM | Lattice (Module-LWE) | 5 | 1568 | 1568 | FIPS 203 | Highest security |
ML-DSA-44 | Sig | Lattice (Module-SIS / Module-LWE) | 2 | 1312 | 2420 | FIPS 204 | Was Dilithium |
ML-DSA-65 | Sig | Lattice (Module-SIS / Module-LWE) | 3 | 1952 | 3309 | FIPS 204 | Common default |
ML-DSA-87 | Sig | Lattice (Module-SIS / Module-LWE) | 5 | 2592 | 4627 | FIPS 204 | Highest security |
SLH-DSA-128s | Sig | Hash-based (stateless) | 1 | 32 | 7856 | FIPS 205 | Was SPHINCS+; tiny key, large sig, slow sign |
SLH-DSA-256f | Sig | Hash-based (stateless) | 5 | 64 | 49856 | FIPS 205 | "f" = faster sign, bigger sig |
FN-DSA (Falcon-512) | Sig | Lattice (NTRU) | 1 | 897 | 666 (padded) | Selected by NIST; to be standardized as FN-DSA / FIPS 206; not yet a final standard. | Smallest lattice sig; tricky FP sampling |
FN-DSA (Falcon-1024) | Sig | Lattice (NTRU) | 5 | 1793 | 1280 (padded) | Selected by NIST; to be standardized as FN-DSA / FIPS 206; not yet a final standard. | High-security Falcon |
LMS / XMSS | Sig | Hash-based (stateful) | 2/5 | ~60 | ~2500–2800 | SP 800-208 | Stateful; firmware signing; never reuse state |
Classic McEliece | KEM | Code-based | 1/3/5 | 261120–1357824 | 96–208 | NIST Round 4 additional KEM candidate; not selected by NIST as a current additional KEM standard, with an ISO/IEC path under discussion. | Huge key, tiny ciphertext; very conservative |
HQC-128 | KEM | Code-based | 1 | 2249 | 4433 | Selected (2025) for std. | additional code-based KEM alongside ML-KEM (algorithm diversity) |
BIKE | KEM | Code-based (QC-MDPC) | 1/3/5 | 1541–5122 | 1573–5154 | Not selected in Round 4 | Compact code-based alternative |
How to read the trade-offs
- Lattice schemes (ML-KEM, ML-DSA, Falcon) hit the sweet spot of moderate sizes and high speed. They are the practical default for nearly all applications.
- Hash-based signatures (SLH-DSA, LMS/XMSS) rest on the most conservative security assumption (only the hash function) but produce large signatures or require state management. Use them where assurance matters most.
- Code-based KEMs (Classic McEliece, BIKE, HQC) diversify away from lattices. Classic McEliece is extremely conservative but has enormous keys; HQC is an additional code-based KEM alongside ML-KEM (algorithm diversity).
Which to pick
- General-purpose key establishment:
ML-KEM-768, in a hybrid with X25519. - General-purpose signatures:
ML-DSA-65. - Bandwidth-critical signatures (e.g., certificates):
FN-DSA/ Falcon, if you can implement constant-time floating-point sampling correctly. - Firmware / boot signing with few signatures: stateful
LMSorXMSS(SP 800-208) — only with rigorous state management. This assumes the signer can strictly manage state; if state management cannot be guaranteed, prefer SLH-DSA. - Maximum conservatism / hash-only assumption:
SLH-DSAfor signatures,Classic McEliecefor KEM.
Standards & references
- FIPS 203 (ML-KEM) — the standardized KEM and its parameter sets.
- FIPS 204 (ML-DSA) — the lattice signature standard.
- FIPS 205 (SLH-DSA) — the hash-based signature standard.
- NIST PQC project — candidate status, rationale, and exact figures.
- Resources — full standards register
Note
Byte sizes above are representative single-parameter-set figures for comparison, not exhaustive. Always confirm against the relevant FIPS or specification, and see parameters.html for the complete parameter sets.算法对比
已标准化与候选后量子方案的主对比,并列出它们所替代的经典基线。下表长度均为某代表性参数集的近似值(单位字节);各参数集的精确数值请查阅相应算法规范。完整参数表参见 parameters.html。
经典基线
这些是后量子密码意在替换的非对称算法。它们体积小巧,但会被 Shor 算法攻破。
| 名称 | 类型 | 公钥(字节) | 签名/密文(字节) | 量子状态 |
|---|---|---|---|---|
RSA-2048 | 签名 + 类 KEM | 256 | 256 | 被 Shor 攻破 |
Ed25519 | 签名 | 32 | 64 | 被 Shor 攻破 |
X25519 | 密钥交换 | 32 | 32 | 被 Shor 攻破 |
主对比 后量子方案
| 名称 | KEM / 签名 | 家族 | NIST 等级 | 公钥(字节) | 密文/签名(字节) | 状态 | 备注 |
|---|---|---|---|---|---|---|---|
ML-KEM-512 | KEM | 格(Module-LWE) | 1 | 800 | 768 | FIPS 203 | 原 Kyber 快且小 |
ML-KEM-768 | KEM | 格(Module-LWE) | 3 | 1184 | 1088 | FIPS 203 | 常用默认 |
ML-KEM-1024 | KEM | 格(Module-LWE) | 5 | 1568 | 1568 | FIPS 203 | 最高安全 |
ML-DSA-44 | 签名 | 格(Module-SIS / Module-LWE) | 2 | 1312 | 2420 | FIPS 204 | 原 Dilithium |
ML-DSA-65 | 签名 | 格(Module-SIS / Module-LWE) | 3 | 1952 | 3309 | FIPS 204 | 常用默认 |
ML-DSA-87 | 签名 | 格(Module-SIS / Module-LWE) | 5 | 2592 | 4627 | FIPS 204 | 最高安全 |
SLH-DSA-128s | 签名 | 杂凑(无状态) | 1 | 32 | 7856 | FIPS 205 | 原 SPHINCS+ 密钥极小 签名大 签名慢 |
SLH-DSA-256f | 签名 | 杂凑(无状态) | 5 | 64 | 49856 | FIPS 205 | f 表示签名更快 签名更大 |
FN-DSA(Falcon-512) | 签名 | 格(NTRU) | 1 | 897 | 666(padded) | NIST 已选中,拟标准化为 FN-DSA / FIPS 206;尚非最终标准。 | 最小格签名 浮点采样实现棘手 |
FN-DSA(Falcon-1024) | 签名 | 格(NTRU) | 5 | 1793 | 1280(padded) | NIST 已选中,拟标准化为 FN-DSA / FIPS 206;尚非最终标准。 | 高安全 Falcon |
LMS / XMSS | 签名 | 杂凑(有状态) | 2/5 | 约 60 | 约 2500–2800 | SP 800-208 | 有状态 固件签名 切勿复用状态 |
Classic McEliece | KEM | 编码 | 1/3/5 | 261120–1357824 | 96–208 | NIST 第四轮额外 KEM 候选;未被 NIST 选为当前额外 KEM 标准,另有 ISO/IEC 路径讨论。 | 公钥巨大 密文极小 极为保守 |
HQC-128 | KEM | 编码 | 1 | 2249 | 4433 | 2025 入选拟标准化 | ML-KEM 之外的额外编码类 KEM(提供算法多样性) |
BIKE | KEM | 编码(QC-MDPC) | 1/3/5 | 1541–5122 | 1573–5154 | 第四轮未入选 | 紧凑的编码类备选 |
如何理解权衡
- 格方案(ML-KEM、ML-DSA、Falcon)在适中体积与高速度之间取得最佳平衡,是几乎所有应用的实用默认选择。
- 杂凑签名(SLH-DSA、LMS/XMSS)建立在最保守的安全假设之上(仅依赖杂凑函数),但签名较大或需要状态管理。在保障要求最高之处使用。
- 编码类 KEM(Classic McEliece、BIKE、HQC)提供脱离格的多样化选择。Classic McEliece 极为保守但公钥庞大;HQC 是 ML-KEM 之外的额外编码类 KEM(提供算法多样性)。
如何选型
- 通用密钥建立:
ML-KEM-768,与 X25519 组成混合模式。 - 通用签名:
ML-DSA-65。 - 带宽敏感签名(如证书):
FN-DSA/ Falcon,前提是能正确实现常数时间浮点采样。 - 固件/引导签名且签名次数少:有状态的
LMS或XMSS(SP 800-208)——务必配合严格的状态管理。前提是签名端能严格管理状态;若状态管理不可保证,则优先考虑 SLH-DSA。 - 追求最大保守性/仅依赖杂凑假设:签名用
SLH-DSA,KEM 用Classic McEliece。
标准与参考
- FIPS 203 (ML-KEM) — 标准化 KEM 及其参数集
- FIPS 204 (ML-DSA) — 格签名标准
- FIPS 205 (SLH-DSA) — 杂凑签名标准
- NIST PQC 项目 — 候选状态 设计依据与精确数值
- 资源链接 — 完整标准登记册
说明
上表字节数仅为便于对比的单参数集代表值,并非完整数据。请始终以相应 FIPS 或规范为准,完整参数集参见 parameters.html。