谷歌最新研究:量子计算机能在8小时内破解2048位RSA加密
2019-07-08
一项新的研究表明,量子技术将比预期更快地赶上当今的加密标准。所有需要长期(25年左右)安全存储数据的人都应该警觉。
许多人担心量子计算机将能够破解某些用于发送安全信息的加密代码。所谓的加密代码使用“陷门(trapdoor)”函数加密数据,这种函数在一个方向上十分容易执行,但在相反方向上则不然。这就使得加密数据变得容易,但如果没有特殊密钥的帮助,解码数据就非常困难。
这些加密系统一直都不是牢不可破的。相反,它们的安全性是通过经典计算机完成解码所需的大量时间体现的。现代的加密方法是专门设计的,解码它们需要很长时间,因此说它们几乎不可破解。
但是量子计算机改变了这种想法。量子计算机比传统的计算机功能强大得多,应该能够轻松破解这些代码。因此,计算机科学家们试图计算出构建这样一台量子计算机可能需要的资源,以及构建这种机器需要多长时间。此前的答案总是几十年。然而现在,谷歌的Craig Gidney和瑞典斯德哥尔摩KTH皇家理工学院的Martin Ekera的研究工作显示,这个答案需要被修正。研究人员已经找到了一种更有效的方式,让量子计算机执行代码破解计算,从而将量子计算机所需的资源减少了几个数量级。
随着数字的增大,计算变得越来越困难。事实上,计算机科学家认为经典计算机几乎不可能分解出大于 2048 位的数字,而2048位是RSA加密最常用的基础形式。
Shor证明,一个功能足够强大的量子计算机可以轻松做到这一点,这一结果在整个安全行业一石激起千层浪。从那以后,量子计算机的功能一直在增强。2012年,物理学家们用一台四量子位量子计算机来分解143。然后在2014年,他们使用了类似的设备来分解出了56153。
按照这样的发展速度,很容易想象,量子计算机应该很快就能超越最好的经典计算机。但现实或许不是这样。事实证明,量子因式分解在实际应用中比我们想象的要困难得多。原因是,大型量子计算机存在一个重要难题——噪声。目前处理噪声的最佳方法是使用纠错码,但是纠错码需要大量额外量子位元。
这将显著增加量子计算机分解2048位数字所需的资源。2015年,研究人员估计,一台量子计算机需要10亿个量子位元才能可靠地完成这项工作。当今最先进的量子计算机只有70个量子位元,这是巨大的差距。在此基础上,安全专家很可能已经能够证明,用量子计算机破解2048位RSA加密的信息,还需要几十年的时间。
现在,Gidney和Ekera已经展示了量子计算机如何用2000万个量子位来进行计算。事实上,他们证明,这样一个装置只需要8 个小时就可以完成计算。他们表示:“(这一结果),已经使得分解2048位RSA整数最多需要多少量子位,下降了近两个数量级。”他们的方法侧重的是用一种称为幂模运算的更有效的方法来执行数学运算。幂模运算是将数字提高到某个幂然后除以另一个数,找到余数的过程。这个过程是Shor算法中计算量最大的操作。但是Gidney和Ekera找到了多种方法来优化它,显著地减少了运行算法所需的资源。
这是一项有趣的工作,对于所有为未来存储信息的人来说都具有重要的意义。一台2000万个量子位的量子计算机在今天看来无疑还很遥远。但专家们需要知道的是,在他们确保信息安全的25年内,这种设备是否有可能实现。如果能实现,那么人们就需要一种新的加密方式了。
事实上,安全专家已经开发出了量子计算机也无法破解的后量子代码。因此,现在可能已经有方法可以保护数据免受量子计算机未来的攻击。但是这些代码现在还没有作为标准使用。对于普通人来说,被破解的风险很小。大多数人使用2048位加密或类似的方法來完成用互联网发送信用卡详细信息的任务。如果这些交易记录发生在今天,即使在25年内被破解,那么损失也会微乎其微。但对政府来说,风险会更大。他们今天发出的信息,例如大使馆和军方之间的信息,在20年后可能会很重要,因此值得保密。如果这些信息仍然通过2048位RSA加密或类似的方式发送,那么这些组织就应该开始担心了。