这源于密码学一向叛逆的定位:别的学科是为了算出一个答案,密码学是防止别人算出一个答案。
因此,量子计算机直接对密码学带来了 “ 连根拔起 ” 的威胁。
拿最常见的RSA-2048算法举例,这个算法是由2048位长的加密信息组成的,即使是最先进超级计算机也需要3千万年才能破解。( 日本的富岳超级计算机,计算速度 442Pflop/s )
但是量子计算只需要8个小时。( 使用穷举法,一个一个的试 )
这就导致量子计算机原则上可以快速破解大多数的加密算法。
为了应对这种量子层面威胁,世界各地的密码学家在过去的二十年里一直在设计用来抵抗量子计算机攻击的后量子加密算法,并诞生了相应的算法竞赛。
不过,更戏剧的是,这个竞赛刚宣布结果没多久,8强选手之一的SIKE算法,就被人满血给秒了。
而且,SIKE算法是被一台十年前的台式机,用单核处理器在4分钟内破解了低安全版本,并在一个小时内破解了该算法的最强形态。
这有多麻瓜呢?
和SIKE安全级别相同的 RSA3068 算法,用目前最先进的超级计算机破解,(日本的富岳超级计算机,计算速度442Pflop/s。)需要大约2万亿年的时间,比宇宙存在的时间都要长。
然而,SIKE算法,在一台10 年前的
一个对抗量子计算机的超级算法,被台式机给击败了,这离谱程度不亚于哥斯拉,被咱们的二踢脚给炸飞了。
不过,差评君仔细研究了一下发现:这可能只是一个严肃科学界的乌龙事件。
这个名为SIKE的算法之所以 “ 一碰就碎 ”,还得从算法的内核说起。
在这个幺蛾子之前,SIKE算的上是21世纪的算法新星了。这个算法是一种基于超椭圆曲线的年轻加密算法。在它诞生的12年里,一直在加强,从未被超越。
它最大的卖点,在超高的性价比上——安全性很高,而且体积还小。
一个由 335 个数字组成的 SIKE 算法,和由 3068 个数字组成的常用算法( RSA 算法 ),安全性是同一级别的。
这就好像用十进制来表达二进制的数字,不仅方便,而且更加简洁。
在NIST收集的90 多种后量子算法中,SIKE及其衍生的算法占据了绝对的上风,成为最短后量子密码中的的前16强。
也正是因此,SIKE算法一直有不少的拥护者,想要见证和创造历史。
不过,有趣的是,这个算法的破解者托马斯 · 德克鲁也是其中之一。
托马斯是这么描述他的破解过程的:
一天,托马斯在和同事沃特 · 卡斯特里克,在研究SIKE算法,试图用来增强其他密码的安全性。
结果在研究相关文献的时候,发现了一篇1997年的论文。
论文中,有一个 “ 几乎立即适用于SIKE算法 ” 的定理,以至于他们在两天之内 “ 反向加强 ” 了SIKE算法,并用台式机破解了它。
这就邪门了呀,要知道在此之前这个算法的破解已经10 年没有进展了,而托马斯只用了两天,甚至还写出了一个没有bug的破解程序。
不仅是密码学家,就连程序员都得羞愧难当了。
8月5日,他们在一篇论文中记录了这一神奇的破解方法:
虽然椭圆曲线是一维对象,但在数学中,椭圆曲线可以被可视化为二维或任何其他维数的对象。人们可以在这些广义对象之间创建同源。
通过应用一个25年前的定理,新的攻击使用SIKE公开的额外信息来构建二维的同源。然后这种同源性就可以重建SIKE用来加密消息的密钥。
专业以外的人其实很难理解,这一过程的有趣之处。
做一个不是很恰当的比方:
这个 SIKE 算法就像一个平面几何问题( 也就是二维问题 ),专门用来对抗量子计算机的运算能力,因为平面几何的难点在于画辅助线。让计算机一条一条地试辅助线,不知道得试到什么时候去了。但是Thomas将这个图形三维化了,它变成空间向量坐标系的问题。
这样子,这个问题就可以通过列方程组来解决,这就又回到计算的范畴了。
所以,这一次破解SIKE算法的关键,被归功于数学之神的青睐。
对此,有位密码学家对这个算法的破解给予了高度的评价,“ 我怀疑:世界上只有不到50 人掌握了破解SIKE算法必要的数学和密码学知识。”
当然,我也怀疑这个密码学家是在强行找回面子。
因为这个问题的破解者,只是一个非著名大学 “ 鲁汶大学 ” 的博士后,甚至不是NIST密码破解组的成员,而是一个业余爱好者。
也有大佬比较客观地表示:“ 我们应该做好剩下的7个选手都被干掉的准备,毕竟所有的密码在被破解之前,看起来都很可靠。”
总而言之,自从1981年量子计算机的概念被提出以来,算法的加密和破解之间的战斗,比之前的几千年都要剧烈。
在此之前,密码学的圣经是:“ 想要密码更安全?简单加大计算量就行了 ”。
相较于计算机运算速度的发展,将加密信息从100 位增加到1000 位,或者是将一种算法更换成更复杂的算法,就已经够用了。但是,后量子时代要求密码学家的思维更加开阔。
比如,这次竞赛中的另一个种子选手 -- 格算法(Ringlearningwitherrors)就是一个格局非常打开的存在。格算法看起来比较简单,像是一个将经典问题放在坐标系里。
但是它这个坐标系有些霸道,为了保证安全性,这个坐标系的维度常年保持在1000 维以上。这就相当于,大家还在做一元二次方程的年纪,你已经在进行1000 元二次方程的求解了。
同样是九年义务
过去几十年,整个密码学都被量子计算机,这一个没有落地的概念给唬住了,然后开始拼了命的逃亡。我们见证了密码学的崩溃、重构,甚至衍生出了一种理论上无敌的量子密码,想要找回场子。科学,真是太tm魔幻了。
【查看完整讨论话题】 | 【用户登录】 | 【用户注册】