如果你将地球上的每一个微处理器组合成一个巨大的计算集群,那么在合理的时间内(假设是几年)你能考虑到多大的 RSA 密钥?
通过阅读这个问题的答案,我知道下一个现实生活目标是 1024 位,但我对这里的纯理论答案更感兴趣。
如果你将地球上的每一个微处理器组合成一个巨大的计算集群,那么在合理的时间内(假设是几年)你能考虑到多大的 RSA 密钥?
通过阅读这个问题的答案,我知道下一个现实生活目标是 1024 位,但我对这里的纯理论答案更感兴趣。
RSA 破解的当前记录是 768 位。唯一已知的对这些密钥大小完全有效的算法是通用数字域筛法。该算法由两大部分组成,筛选和一些重线性代数。
当 GNFS 首次用于破解 512 位 RSA 密钥时,筛选是瓶颈;它需要大量具有大量 RAM 的机器,这在当时并不重要。然而,对于更大的键,线性代数成为瓶颈,因为它不容易并行化,并且需要一台非常大的计算机和很多(很多)快速(非常快)的 RAM。
使用地球上所有的计算机,您可以进行 1024 位分解工作的筛选;所需要的只是数千台计算机,每台计算机都有几十 GB 的 RAM。然而,对于相应的线性代数,所有这些计算机都将一文不值。相反,您必须构建具有新架构的新的专用计算机。
例如,考虑现有最大的超级计算机。它们都是许多微处理器的积累——它们是面向 CPU 的超级计算机,非常擅长对可以充分并行的任务进行数字运算(每个数据传输单元进行许多计算)。对于 GNFS 的后半部分,您需要一个面向 RAM 的超级计算机,它在 CPU 之间的数据传输比实际计算要好。这种计算机的理论架构已经过研究,我们有充分的理由相信它在技术上是可行的,但从芯片代工阶段开始,这仍然是一项非常重大的努力。
总结:即使僵尸网络控制了地球上所有的计算机,你也不会破解 1024 位 RSA 密钥。使用 Apple 的所有现金,您可能可以建造一台可以破解 1024 位 RSA 密钥的专用机器(但如果谨慎地做到这一点,祝您好运:您不能花费数十亿美元而不出现,至少,在经济统计数据上) . 对于更大的密钥(例如 1536 位或更多):甚至不要考虑它。