3. 量子攻击原理与风险量化
要判断 RSA 与 ECC 在量子时代是否“安全”,不能只停留在“Shor 算法能破解”这一句结论上,而必须回答三个可量化的问题:攻击需要多少逻辑量子比特、折算成多少物理量子比特、以及这段资源在什么时间窗口内可能被真正具备。本节围绕这三个问题展开,先讲清 Shor 与 Grover 的计算原理,再给出资源估算与时间窗口的分析方法。
一、Shor 算法:把“难解”变成“可解”
RSA 的安全性建立在“大整数分解困难”之上,ECC 建立在“椭圆曲线离散对数困难”之上。Shor 算法之所以构成根本威胁,是因为它把这两类问题都归约为周期求解,再用量子傅里叶变换高效提取周期。
以分解整数 N 为例,核心步骤是:选取与 N 互素的随机底数 a,构造函数 f(x)=ax mod N,该函数是周期的,其周期 r 满足 ar ≡ 1 (mod N)。经典计算无法高效求出 r,而量子部分正是用量子相位估计(QPE)配合模幂运算电路来求 r。得到 r 后,若 r 为偶数且 ar/2 ≠ −1 (mod N),则 gcd(ar/2−1, N) 与 gcd(ar/2+1, N) 即为 N 的非平凡因子。整个流程中,量子计算只承担“求周期”这一关键瓶颈,其余仍是经典运算。
求解离散对数的思路类似:在群 G 中已知 g 与 gx,求 x。Shor 将其转化为二维周期问题,同样通过 QPE 提取周期后解出 x。因此,RSA 与 ECC 在 Shor 算法面前不是“更难一点”,而是复杂度类别发生了改变:从亚指数/指数级降为多项式级。
二、逻辑量子比特与物理量子比特的估算
资源估算要区分两个层次。逻辑量子比特是算法层面所需的理想量子位数量,主要由模幂运算的工作寄存器与精度决定。分解一个 n 比特的整数,通常需要约 2n 至 3n 个逻辑量子比特(含工作与辅助寄存器),并需要约 O(n3) 量级的 Toffoli 门。例如分解 2048 位 RSA 模数,逻辑量子比特量级在数千,门数量级在 1010~1011。
物理量子比特则要把逻辑比特乘以“纠错开销”。由于量子门和测量存在错误率,需要表面码等纠错方案,把多个物理比特编码为一个逻辑比特。开销与物理错误率、目标逻辑错误率强相关:物理错误率越低,每个逻辑比特所需物理比特越少。业界常引用的量级是:分解 2048 位 RSA 需要数百万个物理量子比特与数小时至数天的运行时间(不同假设下差异很大,属于合理估算而非实测)。ECC-256 因密钥更短,所需逻辑与物理资源显著低于 RSA-2048,但仍在数十万至百万物理比特量级。
三、Grover 算法:对称密钥的“平方根”加速
Grover 算法针对的是无结构搜索。对 k 比特的对称密钥,经典暴力搜索平均需要 2k−1 次尝试,而 Grover 只需约 2k/2 次迭代,即安全强度减半。这意味着 AES-128 在 Grover 下等效约 64 比特安全强度,AES-256 等效约 128 比特。与 Shor 的“多项式级破解”不同,Grover 只是二次加速,通过加倍密钥长度即可恢复原有安全边际,这是对称密码与公钥密码风险性质的根本差异。
四、时间窗口:风险量化的落点
资源估算最终要落到“时间窗口”上。工程上常用“先采集、后解密”(Harvest Now, Decrypt Later)模型:攻击者今天截获并存储 RSA/ECC 加密的密文,等未来具备密码学相关量子计算机(CRQC)后再解密。因此真正的风险窗口不是“量子计算机出现的那天”,而是数据保密期 + 迁移耗时与CRQC 可用时间的交叠区间。
量化时可按如下方式建立判断:设数据需保密 Ts 年,组织完成密码迁移需 Tm 年,若预计 CRQC 在 Tq 年后可用,则当 Ts + Tm > Tq 时,该数据已处于实质风险中。例如某系统数据保密期 15 年、迁移需 5 年,若判断 CRQC 在 12~15 年内出现,则必须立即启动迁移,而不是等到“量子威胁临近”再行动。这里的 Tq 是基于公开进展的合理假设,应随技术进展定期复核,而非当作确定事实。
综合来看,RSA 与 ECC 面临的是 Shor 带来的结构性、不可通过加长密钥缓解的风险;对称算法面临的是 Grover 带来的可缓解风险。风险量化的正确姿势是:以逻辑/物理量子比特估算判断攻击可行性,以时间窗口模型判断行动紧迫性,两者结合才能得出“哪些资产必须优先迁移”的结论。