QianHeng乾珩 PQC Docs Hub量子文档 ✦ Ask AI✦ 问问文档 ⚐ Scan⚐ 扫一扫

NIST Security Strength Categories

NIST defines five security strength categories (Levels 1 through 5) for post-quantum algorithms. Each level is anchored to the cost of breaking a well-understood symmetric primitive, accounting for both classical and quantum attackers. Picking the right level is the first design decision in any PQC migration.

What the levels mean

Rather than quote a single bit-strength number, NIST anchors each category to the difficulty of attacking AES or SHA-2/SHA-3 with the best known classical and quantum algorithms. An algorithm claims a given level if breaking it is at least as hard as the anchor problem.

LevelAnchorInterpretation
1AES-128 key searchAt least as hard as a brute-force key recovery on AES-128
2SHA-256 / SHA3-256 collisionAt least as hard as finding a collision in a 256-bit hash
3AES-192 key searchAt least as hard as a brute-force key recovery on AES-192
4SHA-384 / SHA3-384 collisionAt least as hard as finding a collision in a 384-bit hash
5AES-256 key searchAt least as hard as a brute-force key recovery on AES-256

Why AES and hashes? They are the most studied primitives we have, and the quantum speedups against them are well understood. Level 1 is anchored to the resource cost of attacking AES-128 key search. While Grover's algorithm can offer a quadratic speedup against an idealized exhaustive search, NIST's security categories compare the total computational resources required to carry out the relevant reference attack rather than reducing it to a simple "64-bit security" figure. Hash collisions sit between the key-search levels because collision-finding has its own classical and quantum cost profile.

Note
Levels are not simply "128/192/256-bit". They are statements about attack cost against the best known classical and quantum methods combined. The odd-numbered levels track AES; the even-numbered levels track hash collisions.

How algorithms map to levels

Most NIST PQC schemes ship in several parameter sets, each targeting a specific category. Larger parameters mean a higher level — and bigger keys, ciphertexts, and signatures.

Algorithm / parameter setTypeLevel
ML-KEM-512KEM1
ML-KEM-768KEM3
ML-KEM-1024KEM5
ML-DSA-44Signature2
ML-DSA-65Signature3
ML-DSA-87Signature5
Falcon-512Signature1
Falcon-1024Signature5
SLH-DSA-128s / 128fSignature1
SLH-DSA-192s / 192fSignature3
SLH-DSA-256s / 256fSignature5

Note the spans: lattice KEMs and the SLH-DSA / Falcon signature families each cover the 1/3/5 range, while ML-DSA starts at Level 2. There is no single algorithm that occupies every level, so a migration that mandates "Level 3 everywhere" still requires per-primitive parameter choices.

Choosing a level

The level you target balances long-term confidentiality requirements against size and performance cost.

  • Level 1 — adequate for ephemeral, short-lived secrets where any captured data is worthless within months. Smallest and fastest.
  • Level 3 — the pragmatic default for most deployments. ML-KEM-768 and ML-DSA-65 are the common interoperability choices, balancing margin against size.
  • Level 5 — for data with a multi-decade confidentiality horizon, root CAs, firmware signing keys, and anything covered by Harvest Now, Decrypt Later (HNDL) concerns.

Two further rules of thumb:

  1. Match the level to the longest-lived asset the key protects, not the session. A TLS session key may live seconds, but the data it protects may need 30 years of secrecy.
  2. It is fine to mix levels: a Level 5 root CA can sign Level 3 intermediate certificates. The chain is only as strong as the weakest link on the path you care about, so anchor trust high and operate at Level 3.
Warning
Do not over-provision blindly. Level 5 parameters inflate handshake and certificate sizes substantially, which can break protocols with fixed buffer or MTU assumptions. See parameters.html before committing.

Related

Standards & references

NIST 安全强度等级

NIST 为后量子算法定义了五个安全强度等级(Level 1 至 Level 5)。每个等级都以一种公认的对称原语的破解成本为锚点,并同时考虑经典攻击者和量子攻击者。选定合适的等级,是任何 PQC 迁移工作的第一项设计决策。

各等级的含义

NIST 并不直接给出某个比特强度数值,而是把每个等级锚定到用当前最优经典量子算法攻击 AES 或 SHA-2/SHA-3 的难度上。只要破解某算法的难度不低于对应锚点问题,它就可以声称达到该等级。

等级锚点含义
1AES-128 密钥穷举破解难度不低于对 AES-128 做暴力密钥恢复
2SHA-256 / SHA3-256 碰撞破解难度不低于在 256 位哈希中寻找碰撞
3AES-192 密钥穷举破解难度不低于对 AES-192 做暴力密钥恢复
4SHA-384 / SHA3-384 碰撞破解难度不低于在 384 位哈希中寻找碰撞
5AES-256 密钥穷举破解难度不低于对 AES-256 做暴力密钥恢复

为什么选 AES 和哈希作锚点?因为它们是研究最透彻的原语,针对它们的量子加速也最为清楚。Level 1 以攻击 AES-128 密钥搜索的资源成本为锚点。虽然 Grover 算法可为理想穷举搜索带来平方级加速,但 NIST 的安全等级定义比较的是完成相应参考攻击所需的综合计算资源,而不是简单换算成“64 位安全”。哈希碰撞之所以落在两个密钥穷举等级之间,是因为碰撞查找有其各自的经典与量子成本特征。

注意
等级并不等同于简单的“128/192/256 位”。它表述的是综合考虑最优经典与量子方法后的攻击成本。奇数等级对标 AES 密钥穷举,偶数等级对标哈希碰撞。

算法到等级的映射

大多数 NIST PQC 方案都提供多组参数,分别对应不同等级。参数越大等级越高,相应的密钥、密文和签名也越大。

算法 / 参数组类型等级
ML-KEM-512KEM1
ML-KEM-768KEM3
ML-KEM-1024KEM5
ML-DSA-44签名2
ML-DSA-65签名3
ML-DSA-87签名5
Falcon-512签名1
Falcon-1024签名5
SLH-DSA-128s / 128f签名1
SLH-DSA-192s / 192f签名3
SLH-DSA-256s / 256f签名5

注意各方案覆盖的跨度:格 KEM 以及 SLH-DSA、Falcon 签名族都横跨 1/3/5,而 ML-DSA 从 Level 2 起步。没有任何单一算法占满全部等级,因此即便迁移规范要求“全面达到 Level 3”,仍需为每种原语单独选定参数。

如何选择等级

选定等级,本质上是在长期机密性需求与体积、性能成本之间权衡。

  • Level 1 — 适用于短寿命的临时密钥,被截获的数据在数月内即失去价值。体积最小、速度最快。
  • Level 3 — 多数部署的务实默认值。ML-KEM-768ML-DSA-65 是常见的互操作选择,在安全裕度与体积之间取得平衡。
  • Level 5 — 用于机密期长达数十年的数据、根 CA、固件签名密钥,以及一切受“先收集、后解密(Harvest Now, Decrypt Later, HNDL)”威胁影响的场景。

另有两条经验法则:

  1. 等级应匹配密钥所保护资产中寿命最长者,而非会话本身。TLS 会话密钥可能只存活数秒,但它保护的数据或许需要保密 30 年。
  2. 混用等级是可行的:Level 5 的根 CA 可以签发 Level 3 的中间证书。在你关心的那条路径上,链条强度取决于最薄弱环节,因此可将信任锚点设得很高,而在 Level 3 上运行。
警告
切勿盲目过度配置。Level 5 参数会显著增大握手和证书体积,可能破坏对缓冲区或 MTU 有固定假设的协议。落地前请先参阅 parameters.html

相关链接

标准与参考

⚑ Report an error⚑ 纠错与校正