第 14 课 · Shor 因数分解——从 RSA 的根基到量子指数加速 · 模块二:算法主线

算法三步流程

  • 演算卡(寄存器规模,$N = 15$):寄存器 1:$n = \lceil\log_2 15^2\rceil = \lceil\log_2 225\rceil = 8$ → $Q = 2^8 = 256 \ge N^2$;寄存器 2:$\lceil\log_2 15\rceil = 4$ 比特
  • 流程(三泳道,每节点带态公式):
    • 阶段 1(经典预处理):选 $a \in \{2, \ldots, N-1\}$ → 算 $\gcd(a, N)$;大于 1 直接收因子、提前结束
    • 阶段 2(量子求阶六拍):$|0\rangle|0\rangle$ → 叠加 $(1/\sqrt{Q})\cdot\sum_x |x\rangle|0\rangle$ → 模幂 $|x\rangle|0\rangle$ → $|x\rangle|a^x \bmod N\rangle$ → 测寄存器 2 得 $y$ → 寄存器 1 坍缩为 $|\varphi\rangle = (1/\sqrt{M})\cdot\sum_k |x_0+kr\rangle$ → QFT → 测得 $j \approx cQ/r$ → 连分数提取 $r$
    • 阶段 3(经典后处理):$r$ 奇 → 重选 $a$;$a^{r/2} \equiv -1$ → 重选;否则 $\gcd(a^{r/2} \mp 1, N)$ 收因子
  • 强调条:先测寄存器 2(把叠加压成间隔 $r$ 的等距梳子)、再对寄存器 1 做 QFT(梳子变尖峰)——次序不能乱
类型flowchart(流程 + 状态公式)