随着“具备密码学意义的量子计算机”这一潜在威胁不断发展,替换当前已部署的非对称加密原语(如密钥交换算法ECDH,以及数字签名算法RSA、ECDSA、EdDSA)变得非常紧迫,因为这些算法容易受到Shor量子算法的攻击。然而,这种威胁并不会影响现有的对称加密算法(例如AES、SHA-2、SHA-3)及其密钥长度。
目前存在一个常见的误解:认为量子计算机会将对称密钥的安全性“减半”,从而需要使用256位密钥才能达到128位的安全性。这种理解并不准确,也不符合任何合规标准的要求,并且可能会分散人们对真正必要的后量子迁移工作的关注。这个误解通常源于对另一种量子算法——Grover算法适用范围的误解。
AES-128在面对量子计算机时仍然是安全的。SHA-256同样是安全的。在后量子迁移过程中,对称密钥长度无需改变。这一点在专家群体和标准制定机构中几乎已经形成共识,需要进一步传播到整个IT社区。本文接下来将从技术角度以及权威参考资料两方面支持这一结论。
Grover算法带来的加速
Grover算法是一种量子算法,它可以在一个大小为N的无结构搜索空间中,以大约π/4×√N次函数调用找到正确答案。
这通常被误解为:Grover算法可以在“2⁶⁴时间”内破解AES-128密钥。但在实际中并非如此,因为如果作为单线程顺序执行,这样的攻击将需要数十万年,而且一旦并行化,总成本反而会上升。
理解Grover算法需要注意以下几点:
函数f(即“预言机”)必须被实现为量子电路的一部分;
所有调用必须严格串行执行;
最关键的一点是:该算法无法像经典暴力破解那样高效并行化,最好的并行方式只是划分搜索空间(Zalka,1997)。
这一点至关重要,因为与经典暴力破解不同,后者可以轻松并行,而Grover算法在分割搜索空间时会削弱其平方级加速优势。
举例说明:
如果用经典方法暴力破解一个64位密钥,每次尝试耗时5纳秒,那么单CPU需要约3000年。但如果使用2¹⁶(65536)个CPU并行,每个处理2⁴⁸个密钥,总时间可以缩短到约16天,总工作量仍为2⁶⁴。
这就是为什么64位密钥被认为不安全——因为它可以高效并行破解。
现在考虑使用Grover算法攻击128位密钥。由于无法顺序执行2⁶⁴次操作,我们同样需要并行,例如使用2¹⁶台量子计算机,每台处理2¹¹²规模的搜索空间。
此时每台机器需要执行约2⁵⁶次操作,而不是经典情况下的2⁴⁸。
原因在于:平方根内部减少2¹⁶,只能带来2⁸的加速,而不是2¹⁶。
因此,总工作量反而从2⁶⁴上升到2⁷²。这说明并行化反而削弱了Grover算法的优势。
实际参数估算
为了判断是否构成现实威胁,需要进行数量级计算。
假设量子门操作时间为1微秒,并且攻击持续10年,那么最大可执行深度约为2⁴⁸。
根据最新研究(Liao和Luo,2025),实现AES-128的Grover预言机需要约2³²深度和724个逻辑量子比特。
计算结果表明,需要约2⁴⁷(约140万亿)个量子电路并行运行10年,才能破解AES-128。
从资源角度看,其总成本约为2¹⁰⁴⋅⁵级别。
与Shor算法的对比
相比之下,Shor算法破解256位椭圆曲线只需约2²⁶次操作。
两者成本差距为2⁷⁸⋅⁵倍,即约4.3×10²³倍。
这说明:破解AES-128远比破解现代公钥加密困难得多。
NIST的立场
美国国家标准与技术研究院明确认为AES-128是安全的,并将其作为后量子密码安全等级的基准。
NIST指出,Grover算法需要长时间串行执行,在现实中难以实现,因此其加速效果远低于理论值。
在其后量子密码FAQ中,NIST明确表示:没有必要将AES密钥长度加倍,AES-128在未来几十年仍然安全。
此外,在其迁移指南中也明确指出:所有AES密钥长度(128、192、256)仍然被允许使用。
BSI的观点
德国联邦信息安全局也得出了相同结论,在其最新建议中仍推荐使用AES-128、AES-192和AES-256。
同时,BSI甚至建议更早停止使用易受量子攻击的非对称算法,但并未将AES-128列入风险范围。
学术界共识
滑铁卢大学的密码学专家Samuel Jaques也独立得出类似结论。他指出:
基于Grover算法的AES-128攻击“几乎不可能成功”;
构建稳定的量子计算机本身极其困难;
量子退相干问题使长时间计算难以实现;
实际资源需求远高于理论模型。
为什么不“顺便升级”到256位?
虽然整个后量子迁移本身就是在应对潜在风险,但资源是有限的,变更也有成本。
当前专家共识是:
非对称加密存在明确威胁,必须优先替换;
对称加密不存在现实威胁,无需调整;
将不必要的更改与必要的更改混在一起,会增加复杂性、浪费资源,并延缓真正重要的迁移进程。
此外,在像TLS这样的开放生态系统中,达成一致本身就很困难。如果目标不明确,还会引发兼容性问题。
关于CNSA 2.0
确实存在一个要求使用256位密钥的标准——CNSA 2.0。但这并不是因为量子计算削弱了AES,而是因为该标准统一要求“256位安全等级”。
它甚至通过接受AES-256(而非假想的AES-512)间接承认:Grover算法并不会将安全性减半。
256位密钥是否毫无意义?
并非如此。在某些场景(如哈希碰撞攻击)中,确实需要更长输出长度。例如:为了获得128位抗碰撞性,需要256位哈希输出(这也是为什么不存在SHA-128)。
但这些属于协议设计层面的细节,通常已经由密码学工程师处理好。例如TLS协议在使用AES-128时,已经考虑了多目标攻击和随机数设计,仍能满足128位安全性。
总结
AES-128在量子时代依然安全;
Grover算法的实际威胁被严重高估;
当前最紧迫任务是替换易受Shor算法攻击的非对称加密;
不应将资源浪费在不必要的对称密钥升级上。