“九章”问世了,RSA算法在量子计算机面前还安全吗?

前言

12月4日,媒体上报道了中国科学技术大学潘建伟教授、陆朝阳教授带领的量子计算机团队,成功研发了“九章”量子计算机。《九章算术》是中国古代张苍、耿寿昌所撰写的一部数学专著。是《算经十书》中最重要的一部,成于公元一世纪左右。这不量子计算机以“九章”命名,展示我国悠久的历史文化,以及对未来科技发展的壮美期盼。

新华社合肥12月4日电 题:里程碑式突破!——潘建伟团队解说“九章”量子计算机
在一个特定赛道上,200秒的“量子算力”,相当于目前“最强超算”6亿年的计算能力!12月4日,《科学》杂志公布了中国“九章”的重大突破。
这台由中国科学技术大学潘建伟、陆朝阳等学者研制的76个光子的量子计算原型机,推动全球量子计算的前沿研究达到一个新高度。尽管距离实际应用仍有漫漫长路,但成功实现了“量子计算优越性”的里程碑式突破。

img

RSA算法是目前全球范围内应用最为广泛的公私钥加密算法,它的安全性是如何保证的?“九章”的出现,会对RSA的安全性提出哪些挑战?本文讲针对这个问题进行讨论。

RSA算法的安全性

RSA算法是目前全球范围内应用最为广泛的公私钥加密算法,在量子计算机之前,科学家通过通过数学分析,认为RSA算法是安全的。但是量子计算机的出现,使得人类获得了跨越时代的算力,这是这些算力,使得RSA算法可能变得不再安全了。

RSA算法实现

网上有很多讲解RSA实现原理的文章,作者上一篇文章《白话RSA公私钥加密算法》1就是介绍RSA算法的。总的来说,RSA算法利用了对大整数进行因数分解这一数学难题,构造了公钥和私钥,由私钥可以快速得到公钥,由公钥很难得到私钥。同时,利用质数的数学性质,构造了一套公钥加密私钥解密的方法。

RSA的安全性

回顾《白话RSA公私钥加密算法》1中关于RSA的介绍,整套算法中一共出现六个数字:

p,q,n,φ(n),e,d

其中,p、q是随机选择的两个大质数,n是大质数的乘积,φ(n)是欧拉数,e是公开的,d是私钥。这六个数字之中,公钥用到了两个(n和e),其余四个数字都是不公开的。其中最关键的是d,因为n和d组成了私钥,一旦d泄漏,就等于私钥泄漏。

那么,有无可能在已知公钥的情况下,推导出私钥?

答案是可能的。因为n是pq的乘积,只要把n做质因数分解,就可以得到p、q,进而得到私钥。

(1)ed≡1 (mod φ(n))。只有知道e和φ(n),才能算出d。

(2)φ(n)=(p-1)(q-1)。只有知道p和q,才能算出φ(n)。

(3)n=pq。将n因数分解,可以算出p和q。

但是,由于n是一个很大的整数,所以对n做质因数分解需要很长时间,举例来说,下面这个整数,如果对它进行质因数分解,

155636650525476272250941107365543971170904375374199825050183061215085575698748177779829794849316278349669580362159425488788355290671291116946823104921932013896763421454854196218473729013170728591915926324599322112307117758336370235751933829985979125945769434182241117823508105680221418364473069765884012556827

以我国的超级计算机“神威·太湖之光”为例,(它的持续性能为9.3亿亿次/秒,峰值性能可以达到12.5亿亿次/秒),要分解下面这个大整数,如果使用暴力算法,大概需要10的280次方年。即使使用加速算法,这也是一个不可能完成的任务。

img

总的说来,从公钥计算出私钥是可能的,但是需要很长时间或者说很大算力。在目前的算力水平下,因为需要的时间太长了,所以从公钥不能计算出私钥。另一方面,如果有足够的算力,也就是说算的足够快,那么就可能从公钥计算出私钥,也就攻破了RSA算法。

“九章”对RSA算法的挑战

以“九章”为代表的一系列量子计算机的出现,挑战了RSA算法的安全性,最根本的原因就是量子计算机算的太快了。目前的量子计算机多数以光子作为媒介,即使是“九章”,也停留在原型机的阶段,离实际应用还有很长的路要走。

RSA的破解方法

上文提到的用超级计算机的暴力破解方法只是提供了一种可能性,实际上,数学家发明了很多加速算法来解决整数的质因数分解问题。这其中,以秀尔算法2最为著名。

秀尔算法(Shor’s algorithm)是一种非常著名的量子算法,甚至可以说是量子计算的一块金字招牌了。秀尔算法可以在多项式时间内完成大整数质因数分解。所以Shor’s algorithm从诞生之时,就和以RSA算法为根基的加密技术形成了不可调和的矛盾。

总体来说,秀尔算法是一个适合量子计算机运行的解决质因数分解问题的快速算法。但是,从1994年该算法提出起到现在,RSA算法并没有被攻破,那么“九章”能攻破吗?

“九章”量子计算机的功能

从报道中“九章”量子计算机的照片和视频可以发现,“九章”还处于一个原型机阶段,离我们想象中的所谓“计算机”的样子相去甚远。“九章”也仅仅可以用很快的速度计算“高斯玻色取样”问题。对于计算大整数的质因数分解问题是无能为力的。

其实,量子计算机和我们生活中常见的计算机最大的不同,是量子计算机本质上是一个专用的计算设备。也就是说,量子计算机从设计开始,就是为了计算一个特定的数学问题。比如“九章”是为了计算“高斯玻色取样”问题;谷歌2019年设计实现的量子计算机是为了计算“量子随机数”问题。这种专用设备注定智能解决少量的数学的问题,不能像现在的通用性计算机一样,不但可以算数,还可以看电影玩游戏。

事实上,量子计算机的运行也离不开“传统”通用型计算机的辅助。

RSA离破解还有多远?

现阶段,RSA的破解还没有实现,虽然破解方法秀尔算法已经被提出了,但是并没有出现实现了秀儿算法的量子计算机。随着研究的深入,我相信可以实现秀尔算法的量子计算机终究会出现。

另一方面,秀尔算法并不是破解RSA算法的唯一路径。数学家们有一种特殊的技能,他们可以把一类问题转化为另一类问题,通过解决另一个类问题来解决本来的问题。随着量子计算机研究的深入,我相信,会有越来越多的量子计算机研发成功,也有越来越多的数学问题得到快速解决,说不定数学家们可以找到一条把大整数的质因数分解转换为一种量子计算机已经解决的问题,那么RSA也就被破解了。

总之,RSA算法终究会在量子计算机面前败下阵来,但不是现在。


  1. 白话RSA公私钥加密算法: http://blog.seedfly.net/posts/simple-rsa1/ ↩︎ ↩︎

  2. 秀尔算法(Shor’s algorithm):https://www.codercto.com/a/88879.html ↩︎

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值