如果这应该在加密子中,请原谅我,但有时那里的答案非常数学,我宁愿有一个数学上稍微轻松一点的答案。
我正在观看 RSA 2013 的 Cryptographer 小组,大约33 分钟时,他们提到 ECC 在后量子世界中比 RSA 更容易受到攻击。有人可以解释为什么 ECC 在后量子世界中更容易受到 RSA 的攻击吗?
如果这应该在加密子中,请原谅我,但有时那里的答案非常数学,我宁愿有一个数学上稍微轻松一点的答案。
我正在观看 RSA 2013 的 Cryptographer 小组,大约33 分钟时,他们提到 ECC 在后量子世界中比 RSA 更容易受到攻击。有人可以解释为什么 ECC 在后量子世界中更容易受到 RSA 的攻击吗?
当前构建量子计算机的挑战是聚合足够多的“量子比特”,在量子水平上纠缠在一起足够长的时间。要破解 1024 位 RSA 模数,您需要一台具有 1024 个量子位的量子计算机。要打破具有“相似强度”(就经典计算机而言)的 160 位椭圆曲线,您需要 320 个量子位。并不是椭圆曲线本质上更弱;相反,对于相同的“大小”,它们似乎仍然比 RSA 强一些。相反,在考虑经典计算机与量子计算机时,给定尺寸的强度比是不一样的。
使用量子计算机的攻击者的限制因素是他们可以保持足够长的纠缠以执行计算的量子比特数。破解 RSA 密钥所需的量子比特估计为 2 比特,而 ECC大约为6 比特,但 RSA 密钥通常要长得多,因此它们最终会占用更多的量子比特;低端大约 3 倍(2048 对 224)和高端 10 倍(4096 对 384)见注释。
这是一个非常简化的表格,比较了破解公共密钥长度所需的粗略量子比特数:
| RSA | ECC |
| Key Length | qubits | Key Length | qubits |
|------------|--------|------------|--------|
| 1024 | 2048 | 163 | 1000 |
| 2048 | 4096 | 224 | 1300 |
| 3072 | 6144 | 256 | 1500 |
| 4096 | 8192 | 383 | 2300 |
| 15360 | 30720 | 512 | 3000 |
在过去的 20 年里,我们还没有想出如何构建一个拥有超过少数量子比特的成熟量子计算机。因此,为了比较量子计算机破解 RSA 密钥与“等效”ECC 密钥需要多长时间,我们基本上必须假设制造商会以一种可以扩大规模的方式计算退相干。那么问题就变成了扩展会以多快的速度发生。
假设线性增长率(2048 RSA 与 224 ECC 低端,4096 RS 与 384 ECC 高端)RSA 在 500 量子比特/年时获得约 5-10 年的奖金,在 1K 量子位时获得约 3-5 年的奖金/年,而在 2K 量子比特/年时大约需要 1.5-3 年。
如果我们假设增长率呈指数增长,那么一旦我们能够破解 224 位 ECC 密钥(最弱的通用 ECC 密钥),我们距离破解 4096 位 RSA 密钥(最强的通用 RSA 密钥)只有一代人的时间。按照摩尔定律(约 2 年)的速度,RSA 获得约 2 年的奖金。尽管 DWAVE 的绝热量子计算机对这类问题没有用处,但它们的量子比特数大约每 4 年翻一番。
所以差别其实比较小:2-5年+制造突破的时间。
注意 4096 位 RSA 和 383 ECC 在对称密钥强度方面不能直接比较。4096 位 RSA 密钥大致相当于 142 位对称密钥,而 383 位 ECC 密钥相当于 192 位对称密钥。我直接在上面比较它们,因为它们是最大的普遍支持的密钥大小。