想象你面前有一把巨大的节拍锁:它由两个数字相乘而成,锁上的机关只认这两把“钥匙”。经典计算机想开门,只好从 1 开始一把一把试钥匙,数位一长,试到宇宙终结也试不完。Shor 算法则像一位听觉敏锐的节奏猎人:他不去试钥匙,而是让锁发出叮叮咚咚的模指数回响,再用量子傅里叶变换这支“频谱听诊器”捕捉回响的周期。找到周期,两把钥匙就会自己从最大公约数中浮现。整个过程在多项式时间内完成,让原本坚不可摧的 RSA 加密变成一串可以被解开的密码节拍。本文就用这把节拍锁贯穿始终:先讲锁为什么难开,再讲猎人如何找到周期,最后讲如何换一把新锁。

岗位关联

理解 Shor 算法的周期查找思路,是踏入量子算法与量子安全设计的第一步;它能让你在量子时代真正发生时,看懂哪些密码会倒塌、哪些能继续存活。

目录
  1. 可视化演示
  2. 分解难题
  3. 周期查找
  4. 量子傅里叶变换
  5. 量子电路实现
  6. 经典后处理
  7. RSA威胁
  8. 后量子密码
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示Shor算法核心:周期查找f(x)=a^x mod N转化为因数分解、量子傅里叶变换QFT提取周期、RSA公钥密码体系的量子威胁与多项式级加速。

本节配有交互动效(进入视口后自动加载,约 3KB)。

周期查找与因数分解 选择a与N互质,计算f(x)=a^x mod N的周期r 若r为偶数且a^(r/2)≠-1 mod N,则gcd(a^(r/2)±1,N)给出因子 f(x) = a^x mod N, period r → gcd(a^(r/2)±1, N) = p or q 周期查找将因数分解归约为多项式可解问题

分解难题

节拍锁的锁芯是一道乘法题:取两个很大的质数 p、q,相乘得到 N。乘是秒秒钟的事——3×5=15,小学生都会。可如果只给你 15,要你找回 3 和 5,你就必须从 1、2、3 一路试除。数位从两位数变成几百位,试除的次数就像星际尘埃一样多。

这个“容易乘、难拆开”的性质,正是 RSA 公钥密码体系赖以生存的地基。经典数论算法中,普通试除法是指数级复杂度;最快的通用数域筛法虽然比试除好得多,但仍然是亚指数时间。当 N 是 2048 位二进制整数时,经典算法需要的运算量远超现实宇宙能完成的次数。

Shor 算法把“分解 N”这个硬任务转换成了一个更巧妙的节奏任务:只要找到某个模指数序列的周期,分解便唾手可得。这正是量子计算机最擅长的地方。

所以,分解难题的本质不是数学上不可能,而是经典地图太大。节奏猎人的第一课就是:不去一条路一条路找钥匙,去寻找藏在乘法背后的节拍。

N=p×q\displaystyle N = p \times q
N 是公开的锁体,p 和 q 是藏在里面的两把钥匙。
  1. 公开锁体 NN 是我们要分解的大合数,等于两个质数的乘积。
    NN
  2. 第一把钥匙 pN 的一个质因数,私密且无法从表面看出。
    pp
  3. 乘法连接连接 p 和 q 的数学运算,正向计算极其容易,逆向寻找非常困难。
    ×\times
  4. 第二把钥匙 q另一个质因数,与 p 一起决定锁的结构。
    qq

周期查找

节奏猎人不会站在锁前发呆,他先随机选一个小于 N 且与 N 互质的数字 a,把它当作节拍种子。接下来反复做模运算:a^1, a^2, a^3, … 每次结果都落在 0 到 N-1 之间。对一个合数 N 来说,这条序列迟早会回到起点,从此开始循环。循环的长度就是周期 r。

举个例子:N=15,选 a=2,序列是 1,2,4,8,1,2,4,8……每 4 步回到 1,于是周期 r=4。如果我能测出 r=4,就能用经典后处理中的最大公约数技巧把 15 拆成 3×5。这里的关键是:直接分解 N 很难,但计算模指数序列的周期反而有快速的量子办法。

为什么周期值得找?因为数论里有一条定理:当 r 为偶数且 a^{r/2} 在模 N 下不等于 -1(即不等于 N-1)时,a^{r/2}±1 与 N 的最大公约数就会暴露两个非平凡因子。量子部分的任务因此被简化为:在超大 N 上,只输出一个周期 r。

有了周期,猎人等于找到了乐谱中的反复记号。下一步,需要一架能听见超大序列节奏的仪器——量子傅里叶变换。

f(x)=ax mod N,ar≡1(modN)\displaystyle f(x) = a^x \bmod N, \qquad a^r \equiv 1 \pmod N
f(x) 是猎人听到的回响序列;周期 r 是这个序列每隔多久重复一次。
  1. 随机种子 a选择与 N 互质的整数,作为序列起点与底数。
    aa
  2. 模指数函数 f(x)x 每加一,就把当前结果再乘一次 a 并取余数 N,形成周期序列。
    f(x)=ax mod Nf(x) = a^x \bmod N
  3. 回到 1 的时刻当 x=r 时序列重新出现 1,这就是重复节拍的标记。
    ar≡1(modN)a^r \equiv 1 \pmod N

量子傅里叶变换

普通傅里叶变换从一段旋律中分解出频率;量子傅里叶变换则在一群量子态的“合奏”里,把隐藏的周期变成明显的尖峰。想象舞台上几千个舞者同时按各自的相位旋转,QFT 就像一次整齐的定格:与周期合拍的舞者恰好同相,越叠越高;不合拍的则互相抵消、归于沉寂。

具体来说,QFT 把基态 |x⟩ 变成所有基态 |y⟩ 的带相位叠加。叠加系数的模长处处都一样,但相对相位以 2πxy/N 旋转。当输入的是一个具有周期 r 的态叠加时,各相位在 y 接近 N/r 的整数倍处同相叠加,振幅出现高峰。测量后,我们得到的就是“频率尖峰”的位置。

这个干涉过程是 Shor 算法的量子优势核心:经典计算机需要逐个观察序列,量子计算机只用多项式量级的量子门,就能让所有可能输入同时在干涉仪中走一遍。

尖峰一旦出现,节奏猎人就知道乐谱的反复记号在哪里。但 QFT 只在量子舞台上工作,下一步是用量子门把它搭出来。

QFTN∣x⟩=1N∑y=0N−1e2πixy/N∣y⟩\displaystyle \mathrm{QFT}_N |x\rangle = \frac{1}{\sqrt{N}} \sum_{y=0}^{N-1} e^{2\pi i x y / N} |y\rangle
QFT 是一支频谱听诊器:输入一段周期信号,输出是频率谱上的一根根尖刺。
  1. 基态 |x⟩输入的量子态,编码了序列里的某一拍位置。
    ∣x⟩|x\rangle
  2. 归一化系数 1/√N保证所有叠加态的总概率为 1,像合唱团人数归一。
    1N\frac{1}{\sqrt{N}}
  3. 对所有 y 求和输出态是所有可能频率的叠加,每个频率对应频谱上的一根柱子。
    ∑y=0N−1\sum_{y=0}^{N-1}
  4. 旋转相位 e^{2πixy/N}频率 y 的相位取决于输入位置 x,不同 x 互相干涉后形成尖峰。
    e2πixy/Ne^{2\pi i x y / N}
  5. 输出态 |y⟩测量后最容易读到的 y 与周期 r 有关,通常落在 N/r 的倍数附近。
    ∣y⟩|y\rangle

量子电路实现

要让节奏猎人的耳朵变成电路,我们需要为量子舞者编舞:先把所有舞者送进叠加态;再用一排受控-U 门让她们按 a 的幂轮流旋转;最后用逆 QFT 把旋转的相位汇聚成尖峰。整支舞蹈只需要多项式量级的基本动作。

电路中最重要的积木是受控模乘门 U,它实现 x → ax mod N。为了完成 a^x mod N,Shor 电路不是直接把 a 乘 x 次,而是用快速幂技巧:预先准备 a, a², a⁴, …, a^{2^{L-1}} 的模值,再根据 x 的二进制位决定是否让对应旋转器启动。这就像把舞步拆成二进制的“如果位是 1 就转半圈”。

电路结束后,对量子寄存器做测量,得到的是一个与 N/r 有关的数。因为叠加态在测量时坍缩,我们只能得到一次采样;但少量重复几次就足以用经典连分数还原周期 r。整个流程由经典控制器协调,量子部分只负责产生“频率尖峰”。

跳完这支舞,舞者已经悄悄把节奏信息写进了相位里。接下来,经典后处理要把最后这一串舞步翻译成钥匙。

U∣x⟩=∣ax mod N⟩,U2j∣x⟩=∣a2jx mod N⟩\displaystyle U|x\rangle = |a x \bmod N\rangle, \qquad U^{2^j}|x\rangle = |a^{2^j} x \bmod N\rangle
U 门是单个舞步,受控幂次则是把舞步按二进制广播给全体舞者。
  1. 模乘门 U把 |x⟩ 变成 |ax mod N⟩,一个基本的舞步变换。
    U∣x⟩=∣ax mod N⟩U|x\rangle = |a x \bmod N\rangle
  2. 幂次 2^j用重复平方技巧计算 a 的 2 的幂次方模 N,而不是乘 x 次。
    2j2^j
  3. 受控执行当控制寄存器某一位为 1 时,就执行 U^{2^j};这一位对应 x 的二进制位。
    U2j∣x⟩=∣a2jx mod N⟩U^{2^j}|x\rangle = |a^{2^j} x \bmod N\rangle

经典后处理

量子部分输出的不是 p、q,也不是周期 r,而是一个“频率样本”y。经典后处理接过这个样本,用连分数展开把 y/N 约成最接近的分数,分母就能给出 r 的估计。这一步就像猎人听出鼓点后,用节拍器反推出每小节有几拍。

拿到 r 后还要做一次“钥匙配对”:如果 r 是偶数,计算 a^{r/2} mod N;若结果不是 N-1(即模 N 下不是 -1),则计算 gcd(a^{r/2}-1,N) 和 gcd(a^{r/2}+1,N)。数论保证这两个数的乘积就是 N,于是分解完成。若条件不满足,就换一个随机 a 重来,成功的概率通常超过 1/2,因此重复几次即可。

经典后处理是整条流水线的“翻译官”:量子部分提供概率性的频谱尖峰,经典部分用确定性算法补完分解。没有它,即便有了尖峰也无法变成 p 和 q。

至此,节拍锁被彻底拆开。这个方法不仅威胁 RSA,也是理解“量子优势究竟赢在哪”的最好窗口:不是更快地蛮力,而是把数学结构转换成可测量的节奏。

gcd⁡(ar/2−1,N)×gcd⁡(ar/2+1,N)=N\displaystyle \gcd(a^{r/2}-1, N) \times \gcd(a^{r/2}+1, N) = N
最大公约数像筛子:把 a^{r/2} 左右两条线分别筛过 N,筛出来的两只手就是钥匙。
  1. 半周期 a^{r/2}周期 r 的中点是关键跳板,它的左右邻居分别暴露两个因数。
    ar/2a^{r/2}
  2. 减一求 gcd计算 a^{r/2}-1 与 N 的最大公约数,得到其中一个因数。
    gcd⁡(ar/2−1,N)\gcd(a^{r/2}-1, N)
  3. 加一求 gcd计算 a^{r/2}+1 与 N 的最大公约数,得到另一个因数。
    gcd⁡(ar/2+1,N)\gcd(a^{r/2}+1, N)
  4. 乘积回到 N两个最大公约数相乘,把锁还原成最初的模样。
    gcd⁡(ar/2−1,N)×gcd⁡(ar/2+1,N)=N\gcd(a^{r/2}-1,N) \times \gcd(a^{r/2}+1,N) = N

RSA威胁

现在回到我们的节拍锁。RSA 正是用因数分解的难度铸造的:N 公开,任何人都可以把消息 m 加密成密文 c;但解密需要私钥 d,而 d 只能由知道 p、q 的人算出。在 Shor 算法出现之前,这几乎等于“知道锁体,找不到钥匙”;Shor 出现后,只要能运行足够大的容错量子计算机,锁就可以被节奏猎人打开。

具体来说,RSA 中公钥是 (e,N),私钥满足 d=e^{-1} mod φ(N),其中 φ(N)=(p-1)(q-1)。一旦 Shor 分解出 p、q,攻击者就能算出 φ(N),进而算出 d,于是所有密文都可被解密、签名可被伪造。攻击成本随 N 的位数增长是多项式,而不是指数。

但要注意“足够大的容错量子计算机”这个前提:破解 2048 位 RSA 需要数千个逻辑量子比特,算上纠错开销约数百万物理量子比特。今天的量子计算机还差得很远。Shor 的威胁是战略性的,不是今晚就会发生。

所以,RSA 不是被暴力破解,而是被“重新认识”:Shor 让锁的数学结构变成可闻的节奏,锁芯的秘密便无处可藏。这正是量子优势最锋利的一刀。

c=me mod N,m=cd mod N\displaystyle c = m^e \bmod N, \qquad m = c^d \bmod N
公钥加密像把信锁进透明信箱,私钥是唯一开锁齿纹;Shor 则能根据地上的齿痕重配钥匙。
  1. 加密 c=m^e mod N任何人用公钥 e 把消息 m 锁进密文 c。
    c=me mod Nc = m^e \bmod N
  2. 解密 m=c^d mod N私钥 d 把密文 c 还原成消息 m。
    m=cd mod Nm = c^d \bmod N
  3. 私钥依赖因数d 只有通过 φ(N) 才能求出,而 φ(N) 来自 p、q。
    d=e−1(modφ(N))d = e^{-1} \pmod{\varphi(N)}

后量子密码

既然老式节拍锁不安全,那就换一种不受周期启发的锁。后量子密码并不依赖“乘法容易、分解难”,而是依赖格、编码、多变量、哈希等数学难题。即使攻击者能运行大型量子计算机,也找不到把“锁体”翻译成“节奏”的捷径。

NIST 在 2024 年正式发布了第一批后量子标准:ML-KEM(原 Kyber)用于密钥封装,ML-DSA(原 Dilithium)用于数字签名,它们都建立在格上的 Module-LWE 问题。一个典型问题是:已知矩阵 A 和向量 b=A s+e,要恢复秘密 s,其中 e 是极小的随机噪声。经典和量子算法都很难在多项式时间内解决。

迁移不是“把锁换掉”那么简单:企业需要盘点所有使用 RSA 和椭圆曲线的地方,引入混合模式(经典+后量子并行),并在性能、兼容性和抗量子安全性之间取舍。对 AI 从业者来说,这意味着未来数据管道中的身份认证、模型加密和联邦学习都需要 PQC 加持。

从节拍锁到格点迷宫,密码学完成了一次“反量子进化”。对普通用户来说,过渡期内新旧锁会同时挂着:先是双锁并行,最终全部换成格锁。理解了 Shor,你也就理解了为什么要进行这场迁移。

b=As+e(modq)\displaystyle \mathbf{b} = \mathbf{A}\mathbf{s} + \mathbf{e} \pmod q
格锁的钥匙是隐藏在小误差里的向量;没有误差信息,连量子计算机也只能在无限格点中迷路。
  1. 公开矩阵 A一个公开的整数矩阵,像锁面上整齐排列的格点。
    A\mathbf{A}
  2. 秘密向量 s真正要保护的钥匙,藏在高维空间中。
    s\mathbf{s}
  3. 小误差 e让方程变成“近似问题”的小扰动,是后量子困难的关键。
    e\mathbf{e}
  4. 公开结果 b带误差的乘积被公开发布,观察者无法反推出 s。
    b=As+e(modq)\mathbf{b} = \mathbf{A}\mathbf{s} + \mathbf{e} \pmod q

AI 应用场景

场景一:量子风险扫描与密码资产盘点

阶段:安全评估与威胁建模

解决的问题:传统方式用静态规则扫描证书库,无法识别哪些算法在 Shor 面前高危;AI 辅助平台自动提取证书、公钥和签名算法,按密钥长度与算法家族打分,并推荐迁移优先级。

具体案例:某大型银行对全行 TLS 证书和代码签名证书做普查,用规则加机器学习聚类识别出 3000 张 2048 位 RSA 证书,并把对外服务列入第一批 Kyber 混合改造范围。

场景二:后量子混合加密的密钥生命周期管理

阶段:密钥生成、轮换与自动化运维

解决的问题:手动切换加密库容易遗漏内部服务,传统密钥轮换也不考虑量子风险;AI 编排系统自动识别公钥算法,在 TLS 握手中优先选择 ML-KEM 与 RSA 混合套件,若密钥强度不足则触发无感轮换。

具体案例:某云服务商在 VPN 网关上启用 X25519Kyber768 混合套件,用脚本加 AI 巡检每周扫描握手失败率,两周内完成 90% 内部服务迁移。

Python 演示

python48 行
import mathimport random  class ShorClassicalSimulation:    """Classical emulation of Shor's period-finding step for small N."""     def __init__(self, n):        self.n = n     def _find_period(self, a):        x = 1        step_count = 0        seen = {}        while x not in seen:            seen[x] = step_count            x = (x * a) % self.n            step_count += 1        return step_count - seen[x]     def _try_factor(self, a):        if math.gcd(a, self.n) != 1:            return math.gcd(a, self.n), self.n // math.gcd(a, self.n)        r = self._find_period(a)        if r % 2 != 0:            return None        half = pow(a, r // 2, self.n)        if half == self.n - 1:            return None        p = math.gcd(half - 1, self.n)        q = math.gcd(half + 1, self.n)        if p * q == self.n:            return p, q        return None     def factor(self, max_trials=30):        for _ in range(max_trials):            a = random.randint(2, self.n - 2)            result = self._try_factor(a)            if result:                return result        raise RuntimeError("failed to factor")  if __name__ == "__main__":    simulator = ShorClassicalSimulation(15)    p, q = simulator.factor()    print("p = {}, q = {}, p * q = {}".format(p, q, p * q))
目的:经典模拟 Shor 算法的周期查找与后处理,分解 N=15,得到 3 和 5。
  1. r = self._find_period(a)用经典暴力代替量子部分,模拟量子测量给出的周期。
  2. half = pow(a, r // 2, self.n)把半周期算出来,模幂运算避免超大数膨胀。
  3. p = math.gcd(half - 1, self.n)半周期减 1 与 N 取最大公约数,分离出第一个因数。
  4. q = math.gcd(half + 1, self.n)加 1 与 N 取最大公约数,分离出第二个因数。
  5. if p * q == self.n:校验两把钥匙乘积确实是锁体,才接受分解结果。
  6. a = random.randint(2, self.n - 2)随机选择底数,提高找到有效周期的概率。

常见误区

误区我经常看到新闻说“量子计算机破解 RSA”,以为现在任何一台量子计算机跑一下 Shor 算法就能把 2048 位密钥拆开。

正解Shor 算法确实是多项式时间,但“能跑”和“跑得动”是两回事。当前量子硬件只有几百个物理量子比特,且噪声很大;破解 2048 位 RSA 需要数千个逻辑量子比特,算上纠错要数百万物理量子比特。算法是对的,但工程还远未到位。

为何常见:媒体常把“算法突破”和“工程实现”混为一谈,读者很容易忽略容错量子计算的前提。

误区我以为只要量子傅里叶变换输出一个数字,这个数字就是周期,然后拿它去乘除就能得到 p、q。

正解QFT 测量得到的是频率样本 y,不是周期 r 本身。经典后处理需要先用连分数把 y/N 还原成近似分数,得到 r;然后还要检查 r 是否为偶数、a^{r/2} 是否是 -1,最后用最大公约数提取因数。任何一步不满足都要换 a 重试。

为何常见:简化讲解时常常跳过经典后处理,让人误以为量子部分直接输出了答案。

误区既然 Shor 能分解大整数,那把 RSA 密钥从 2048 位加到 4096 位、8192 位,不就能对抗量子计算机了吗?

正解不能。Shor 算法是多项式时间,密钥长度增加只会让攻击时间多项式增长,而不是指数增长。后量子密码换成格、编码、哈希、多变量等完全不同的困难问题,目的就是让量子计算机没有类似“周期查找”的捷径可走。

为何常见:人们习惯用“加长密钥”对抗经典算力增长,但这个直觉不适用于结构性的量子算法突破。

误区我以为 QFT 像经典傅里叶变换一样,输入一个确定性信号,输出就是确定的频谱图,直接读出周期。

正解QFT 操作的是量子叠加态,输出仍然是一个叠加态。测量会以一定概率坍缩到某个频率样本,所以需要重复采样,再用经典统计和连分数还原周期。概率性不是 bug,而是量子算法与经典后处理配合的特性。

为何常见:经典信号处理课程中的傅里叶变换是确定性的,切换到量子语境后,人们容易忘掉测量坍缩这一关键差异。

面试题

Q1. Shor 算法主要解决下列哪个经典难题?

单选题 · easy

  • A.大整数的因数分解← 正确答案
  • B.矩阵特征值计算
  • C.图的最短路径搜索
  • D.大规模数据排序

答案:A。Shor 算法的核心是把大整数分解转化为周期查找,选项 A 正确。B、C、D 虽然也有量子算法研究,但不是 Shor 算法的标志性目标。

Q2. 周期查找中,f(x)=a^x mod N 的周期 r 满足哪条关系?

单选题 · easy

  • A.a^r 与 1 模 N 同余← 正确答案
  • B.a^r 等于 a 的 N 倍
  • C.f(r) 等于 r 的因数
  • D.r 等于 N 的位数

答案:A。周期 r 的定义是序列重复,等价于 a^r ≡ 1 (mod N)。B、C、D 都不符合模指数循环的性质。

Q3. 量子傅里叶变换在 Shor 算法中的角色是?

单选题 · mid

  • A.把周期信号变成频谱尖峰← 正确答案
  • B.直接计算最大公约数
  • C.把量子比特数减少一半
  • D.对密文做对称加密

答案:A。QFT 通过相位干涉让周期相关的频率同相叠加,形成尖峰。最大公约数是经典后处理里做的,B 错误;QFT 不负责减少比特数或加密,C、D 错误。

Q4. 下列哪些条件满足时,经典后处理能成功分解 N?

多选题 · mid

  • A.周期 r 为偶数← 正确答案
  • B.a^{r/2} 在模 N 下不为 -1← 正确答案
  • C.周期 r 为奇数
  • D.随机底数 a 与 N 互质← 正确答案

答案:ABD。Shor 要求 a 与 N 互质,r 为偶数且 a^{r/2} 不是 -1,这样 gcd(a^{r/2}-1,N) 和 gcd(a^{r/2}+1,N) 才能给出非平凡因数。r 为奇数是失败条件,C 错误。

Q5. 在 Shor 算法中,测量 QFT 输出后通常需要哪一步来还原周期?

单选题 · mid

  • A.连分数展开← 正确答案
  • B.快速排序
  • C.梯度下降
  • D.交叉验证

答案:A。测量得到频率样本 y,连分数展开可以把 y/N 约成最接近的分数,分母就是周期 r 的估计。B、C、D 不是数论后处理步骤。

Q6. RSA 私钥 d 与公钥指数 e 的关系是?

单选题 · mid

  • A.d 是 e 在模 φ(N) 下的逆元← 正确答案
  • B.d 是 e 与 N 的乘积
  • C.d 是 e 除以 N 的余数
  • D.d 是 e 的平方根

答案:A。RSA 中 d=e^{-1} mod φ(N),这样才能满足 m^{ed} ≡ m (mod N)。B、C、D 都没有保证加密解密互逆。

Q7. 后量子密码通常依赖哪些数学困难问题?

多选题 · hard

  • A.格上的带误差学习问题← 正确答案
  • B.纠错码的解码问题← 正确答案
  • C.大整数的因数分解
  • D.哈希函数的原像问题← 正确答案

答案:ABD。LWE、编码解码和哈希原像都未被发现量子捷径,因此可用于 PQC。大整数分解正是 Shor 能高效解决的,C 不属于抗量子基础。

Q8. N=15,a=2 时,模指数序列 1,2,4,8,1,… 的周期 r 是?

单选题 · easy

  • A.4← 正确答案
  • B.2
  • C.8
  • D.15

答案:A。序列每 4 步回到 1,所以 r=4。有了 r=4,后处理就能把 15 分解成 3 和 5。

Q9. Shor 算法对 RSA 构成威胁的原因包括?

多选题 · hard

  • A.能多项式时间分解大整数← 正确答案
  • B.能直接破解所有对称加密
  • C.能由 N 算出私钥 d← 正确答案
  • D.只需要一个量子比特

答案:AC。Shor 分解 N 后,攻击者可计算 φ(N) 并推出 d,从而解密或伪造签名。对称加密通常靠 Grover 算法威胁,不是 Shor;Shor 也不可能单比特实现,B、D 错误。

Q10. 当前 Shor 算法难以实际破解 2048 位 RSA 的最主要原因是?

单选题 · hard

  • A.缺少足够容错逻辑量子比特← 正确答案
  • B.量子傅里叶变换未被证明
  • C.RSA 密钥长度可以无限增加
  • D.经典计算机已经更快

答案:A。算法已经被证明可行,瓶颈在硬件:需要数千逻辑量子比特和大量纠错开销。C 是缓解措施而非根本原因,B、D 不符合事实。