Shor 算法(1994)在量子计算机上多项式时间内求解大数分解与离散对数问题,把二者的"经典难解"变成"量子易解",直接威胁 RSA、ECC 等公钥密码,是后量子密码研究的直接动因。
核心思想:把分解化归为求阶
- 随机取 1<a<N,若 gcd(a,N)>1 已得因子,否则继续
- 求 a 模 N 的阶 r:使 ar≡1(modN) 的最小正整数
- 若 r 为偶数且 ar/2≡±1(modN),则 gcd(ar/2−1,N) 与 gcd(ar/2+1,N) 均为非平凡因子;否则换 a 重试
量子求阶
阶的求解用量子相位估计完成:制备叠加态 ∑x∣x⟩,应用模幂 ∣x⟩↦∣x⟩∣axmodN⟩,对第一寄存器做量子傅里叶变换后测量,由测得值的高精度逼近得到 k/r(k 随机),再经连分数展开恢复 r。其中的模幂运算用快速幂的量子版本实现。
复杂度与成功率
- 整体时间 O((logN)2(loglogN)(logloglogN)),空间 O(logN)
- 对随机 a,r 为偶数且 ar/2≡±1 的概率至少 1/2,重试少数几次即可成功
示例
- N=15,a=2:24≡1(mod15),r=4,22=4≡±1;gcd(3,15)=3,gcd(5,15)=5 → 15=3⋅5
- N=21,a=2:26≡1(mod21),r=6,23=8≡±1;gcd(7,21)=7,gcd(9,21)=3 → 21=3⋅7
影响
经典分解最快的数域筛法是亚指数时间,而 Shor 算法把 RSA 与 Diffie–Hellman 的安全性根基移除,推动格基约化算法等格基密码成为后量子方案的主流候选。