一项新的研究表明,量子技术将比预期更快地赶上当今的加密标准。所有需要长期(25 年左右)安全存储数据的人都应该警觉。
许多人担心量子计算机将能够破解某些用于发送安全信息的加密代码。所谓的加密代码使用“陷门(trapdoor)”函数加密数据,这种函数在一个方向上十分容易执行,但在相反方向上则不然。这就使得加密数据变得容易,但如果没有特殊密钥的帮助,解码数据就非常困难。
这些加密系统一直都不是牢不可破的。相反,它们的安全性是通过经典计算机完成解码所需的大量时间体现的。现代的加密方法是专门设计的,解码它们需要很长时间,因此说它们几乎不可破解。
但是量子计算机改变了这种想法。量子计算机比传统的计算机功能强大得多,应该能够轻松破解这些代码。
这就提出了一个重要的问题量子计算机何时才能强大到可以做到这一点? 在此之后,受此加密形式保护的所有信息都将变得不安全。
因此,计算机科学家们试图计算出构建这样一台量子计算机可能需要的资源,以及构建这种机器需要多长时间。此前的答案总是几十年。
然而现在,谷歌的 Craig Gidney 和瑞典斯德哥尔摩 KTH 皇家理工学院的 Martin Ekera 的研究工作显示,这个答案需要被修正。研究人员已经找到了一种更有效的方式,让量子计算机执行代码破解计算,从而将量子计算机所需的资源减少了几个数量级。
(来源:麻省理工科技评论)
因此,这些量子计算机比任何人想象的都更接近现实。这一结果将让政府、军方和安全机构、银行以及所有需要保护数据长达 25 年甚至更长时间的人感到不安。
早在 1994 年,美国数学家 Peter Shor 就发现了一种量子算法,其性能优于经典算法。Shor 的算法因子大,是破解基于陷门函数密码的关键因素。
陷门函数是基于乘法过程的,它在一个方向上很容易执行,但在相反的方向上很难执行。例如,将两个数字相乘很简单:593 乘以 829 等于 491,597。但是很难算出 491,597 是由哪两个质数相乘才能得到。
随着数字的增大,计算变得越来越困难。事实上,计算机科学家认为经典计算机几乎不可能分解出大于 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 加密或类似的方式发送,那么这些组织就应该开始担心了。