量子电脑在运算上远比传统电脑强大,也因此在量子电脑问世后,人们对许多事情的看法都出现了转变,像是过往被认为几乎是不可能破解的 RSA 2048 加密,理论上当量子电脑成长至一定阶段,破解便会成为可行选项,于是剩下的问题便在于——什么时候会发生?
在过去的研究中,考量到量子位元系统中的噪音(nosie)问题,科学家普遍认为量子电脑要发展至能够破解现今常见的 2048 位元加密,还得需要数十年以上的时间,但在最近 Google 圣塔芭芭拉员工 Craig Gidney 和瑞典皇家理工学院(KTH)Martin Ekera 的努力下,这个时间点有可能将大幅提前。
RSA 加密算法
RSA 加密算法在公开金钥加密和电子商业中被广泛使用,这种建立在暗门函数(trapdoor function)基础上的加密方式,主要是透过对极大整数进行质因数分解的困难,让电脑得花费太长时间运算,以致于破解变成一种“不可行”的选项进而达到加密效果。
但究竟数字得多长才有足够安全性?为了确认 RSA 金钥长度的长度安全性,美国研究相关技术的 RSA Security 曾在 1991 年公布 8 个巨大合成数(composite number)并提供奖金开放大众进行分解挑战,这 8 个合成数量级分别为 RSA-640、RSA-704、RSA-768、RSA-896、RSA-1024、RSA-1536、RSA-2048,截至目前为止,成功被分解的只有到 RSA-768 阶段(2009 年),后续 4 个合成数并未有人挑战成功。
*后方数字为合成数写成二进制时的位元数,以 RSA-768 为例,这代表该合成数有 768 个位元,以常用的十进制来看则有 232 个数字。
以目前来说,RSA 金钥通常会在 1,024~4,096 位元间,由于科学家认为传统电脑不太可能破解超过 2,048 位元的 RSA 加密,2,048 位元金钥可以说是凭证认证机构最常见的加密形式。
然而量子电脑的存在一直都带来些许疑虑。1994 年时,美国数学家 Peter Shor 便曾提出一种量子算法,证明量子电脑能够在远胜传统电脑的速度下进行对数运算,物理学家也曾在 2012 年时成功使用 4 量子位元的量子电脑分解 143,并在 2014 年时以同样的设备分解 56,153。
在这种进步速度下,人们很容易就会认为量子电脑很快就会赢过最好的传统电脑,但事情实际上并非如此。
量子运算在实践阶段远比理论要困难许多,原因之一就是量子位元系统中的噪音问题,目前最佳的解决方法是使用大量额外资源进行错误更正,然而目前技术无法提供足够的量子位元进行更正,因此噪音的干扰可说是无可避免。
考虑到纠错会大幅增加运算所需的资源,2015 年时研究人员估计,量子电脑需要 10 亿个量子位元才有机会破解能 2,048 位元金钥,做为参考,现在最先进的量子电脑约有 70 个量子位元。安全专家因此推断,在量子电脑对 RSA 加密造成威胁之前,人们还有好几十年的时间可以安心。
当然,就像传统电脑的发展历程一样,量子电脑的进展可能会十分快速,但 70 与 10 亿仍有相当明显的差距,即使再乐观也明白这得花上一些时间。
但如果,是 70 与 2,000 万呢?
改良的秀尔算法
这便是 Gidney 和 Ekera 所做的事。在 Shor 提出的“秀尔算法”(Shor’s algorithm)中,模指数运算(modular exponentiation)可以说是需要耗费最多资源的操作,而 Gidney 和 Ekera 成功找到许多改善方法大大减少了运行算法所需的资源。
▲ RSA 演算是现在最广泛使用的非对称加密法。(Source:shutterstock)
透过使用改良后的算法,两人估计量子电脑破解 2,048 位元金钥所需的量子位元数将从 10 亿降低至 2,000 万,Gidney 和 Ekera 推算,这样的设备只需要大约 8 小时就能破解 2,048 位元金钥。
相较起 70,2,000 万仍是相当大的数字,要能建造出 2,000 万量子位元的量子电脑,以目前看来仍是遥远的梦想。但《麻省理工科技评论》(MIT Technology Review)认为,相关专家应该问自己的问题是在他们想要保护资讯的 25 年内,这样的设备是否有机会成为可能。
如果答案是“是”,那么他们便需要一种新的加密形式。
实际上,安全专家已经开发了“后量子密码”(post-quantum codes),即使使用量子电脑也无法破解,因此可以说,现在确实有保护数据免受未来量子电脑攻击的方式,但这些代码并未作为标准使用,多数-和企业仍以传统加密法保护机密资讯。
对普通人来说,RSA 金钥被破解的风险并不大,多数人只会在网络传送信用卡等个人资讯时接触到 2,048 位元加密,即使这些交易纪录在 25 年内外流,人们也不会损失太多东西,但对-或军事机构来说,它们现在传送的资讯或许在 25 年内仍相当重要。如果这些消息还是以 2,048 位元金钥加密或类似方式发送,那么这些组织确实应该开始担心。
- How a quantum computer could break 2048-bit RSA encryption in 8 hours
(首图来源:shutterstock)
延伸阅读:
- Google 公布 72 量子位元处理器,朝向量子霸权目标迈进
- 用最简单的例子告诉你:什么是量子电脑的运算方式?