现在有了一件可以说是杞人忧天的事:尽管现在还没有真正的量子计算机问世,但微软的一个研究项目已经将加密协议升级到可以抵御量子计算机的攻击。政府和 IBM、微软、谷歌等计算巨头正在研究量子计算机,因为它可以用很少时间解决传统计算机需要花数十亿年解决的问题。这可能会给医药或能源领域带来突破性进展,但量子计算机也可以轻易破解用于保护网络信息安全的加密算法。
准备上十年
情报组织认为这是好事,美国国家安全局投入了 8000 万美元用于研究量子计算。但一些研究人员认为,我们应该开始计划升级加密,以便让量子计算时代的生活继续保持平静。一个由微软、芯片制造商 NXP 和昆士兰科技大学组成的团队已经实现了这一升级。他们正在测试一个可以抵御量子计算机的传输层安全协议(TLS),网络银行等网站利用 TLS 来加密网络数据。
Krysta Svore 在微软领导着一个专为量子计算机开发软件的研究小组,她表示,这不仅仅是一次学术练习。“考虑到可扩展的量子计算机正在开发中,现在准备非常重要”。一种新的加密算法需要上十年或以上时间才能得到适当测试和广泛部署。“现在迫切需要决定其他加密算法。”
当银行或电子邮箱提供商使用 TLS 协议来保证数据安全时,它们通常会采用 RSA 算法。这一算法通过将大素数相乘来获得一对数字安全密钥,其中一个为公钥,另一个为私钥。如果你能算出用来制作公钥的素数,就可以重新制作出解密数据的私钥。但传统计算机不能快速计算出用来制作密钥的素数。
在 1994 年,数学家 Peter Shor 证明了量子计算机可以轻易算出制作密钥的素数。通过在这一问题的数学结构上使用量子态,量子计算机能很快地找到通往正确答案的捷径。Shor 的算法在修改后也可以用来破解椭圆曲线加密法这一比 RSA 加密算法更强大的算法。椭圆曲线加密法正变得越来越普遍,且也被用于 TLS 中加密网络数据。
未雨绸缪
用来抵御量子计算机的新版 TLS 协议使用了另一个数学问题来生成密钥。研究人员们认为,这一问题超出了传统计算机和量子计算的实际运算范围。
这一系统通过在两台个人电脑间传输加密数据来进行测试,传输速度要比采用椭圆曲线加密法的 TLS 协议慢 21%。但研究人员们认为,如果要在现实中应用这一协议,这一代价也很合理。
康奈尔科技大学教授 Ari Juels 表示,现在就准备针对量子计算机的算法很合理。他表示道,哪怕现在的加密算法攻击进展相对较慢,网站或软件中使用的过时加密算法也已经导致了很多安全问题。
Juels 还表示,目前还不确定这一新 TLS 协议是否同时抵御量子计算机和传统计算机的破解。数学家和密码学家们对这一协议的研究还不像 RSA 等算法深。
Svore 表示同意,但称到目前为止,一切迹象都表明情况良好。人们花了 15 年时间来寻找新 TLS 协议中使用的数学问题的量子捷径,却没有人成功。不管怎样,微软的研究人员们正在研究其他可能的可以抵御量子计算机的加密算法。
Svore还想教育更多计算机科学家和程序员如何为量子计算机写程序,以便他们在量子计算机到来时能更好地利用或抵御量子计算机,因为量子计算真的会很强大。