首页 理论教育 最强之矛与最强之盾

最强之矛与最强之盾

时间:2022-02-12 理论教育 版权反馈
【摘要】:1994 年,全球 1600 个工作站同时运算了 8 个月,才破解了 129 位的 RSA 密钥。在量子计算机的最强之矛面前,现在最流行的 RSA 加密将无密可保,所有基于 RSA 的金融系统将瞬间变成透明人。和 RSA 等依赖计算复杂度增加破解成本的加密方式不同,量子加密通信是「无条件安全」的,对量子计算机的恐怖计算能力先天免疫。



量子通信卫星「墨子号」上天之后,立刻遭到了某些民科的抵制。


有说阴谋论的,有说浪费纳税人钱的,就是没有一个能说清量子通信究竟是怎么回事。


不过,在这群流言之中,让我印象最深的,是一个网友的发帖。




前 4 个问题,看完前面的内容,读者应该都可以自己回答了。不过,起码人家还说对了一点:「目前的加密系统早就超过实际所需了,你啥时听过有银行是因为信息窃听被破解的?」


讲真,目前的加密系统并不是没法破解,而是破解成本太高。就拿银行最常用的非对称加密算法 RSA 来说,2009 年,为了攻破一枚 768 比特的 RSA 密钥,一台超级计算机足足算了几个月,这几乎是当今计算机性能的极限!


虽然理论上,RSA-768 已不再安全,但由于 RSA 算法的破解难度随着密钥长度指数级上升,所以让 RSA 再次固若金汤非常简单:把密钥位数加长到 1024 比特,就会让破解时间增加 1000 多倍。


其实,现在网上交易最普遍的 RSA 密钥,至少是 2048 比特。然而,在互联网时代大获成功的 RSA 加密,真的能让我们高枕无忧地用上 500 年吗?


未必!


RSA 加密的前提是「加密容易解密难」。在 RSA 的核心算法中,用到了大数因式分解:把两个素数相乘(A*B=C),比把这个乘积 C 做因式分解还原出 A 和 B 容易得多,数字 C 的位数越多,因式分解的时间就越长。


你可以挑战一下:




但是,有没有这样一种可能:随着算力越来越强,解密的时间越来越短,会不会有朝一日再长的密码都可以秒破呢?甚至,有没有可能出现,解密的速度比加密还快的尴尬局面?


这就是困扰计算机系的同学们 50 年的经典问题:P 是否等于 NP?


P 就是能在多项式时间内解决的问题,NP 就是能在多项式时间验证答案正确与否的问题。抛开复杂的定义不谈,P=NP 实际上问的是:如果答案的对错可以很快验证,它是否也可以很快计算?


一开始人们觉得,P 显然不等于 NP。


比如,「找出大数 53308290611 是哪两个数的乘积?」很难,但要问「224737 是否可以整除 53308290611?」这小学生都会算。


密码学领域,这正好是我们想要的结果:加密(相乘)容易解密(因式分解)难。


如果 P=NP,就势必存在一种算法,使得对 53308290611 做因式分解和验证 224737 是否是因子一样快(加密和解密同样容易)。


如果 P 真的等于 NP,为什么这么多年,都没人想出这种逆天的算法呢?


然而,令人细思恐极的是,我们至今还没法严格证明 P 不等于 NP,反而有人发现,在某种特定的计算模型下:P=NP 竟然是成立的!


这种「特定的计算模型」叫作量子计算机。和非 0 即 1 的传统计算机不同,量子计算机的「量子比特」可以处于「既是 0 又是 1」的量子态。


在量子世界,这种不可思议的「既死又活」,反而是最平常的现象:量子叠加态。还记得薛老师那只不死不活、又死又活的混沌猫吗?




量子叠加,使得量子计算机具有传统计算机做梦都想不到的超能力:


在一次运算中,同时对 2^N 个输入数进行计算。


举例说:


如果变量 X=0,


运行 A 逻辑;


如果变量 X=1,


则运行 B 逻辑。


这种最普通不过的条件判断程序,在传统计算机内部,永远只会执行 A 或 B 的一种逻辑分支,除非把 X=0 和 X=1 的两种情况各运行 1 次(共运行 2 次)。


但对于量子计算机,A 和 B 在一次计算中就同时执行了,因为变量 X 是量子叠加态,既等于 0,又等于 1,这就意味着,普通计算机要算 2 次的程序,量子计算机只需算 1 次。


如果把量子比特的数量增加到 2 个:


如果变量 X=00,运行 A;


如果变量 X=01,运行 B;


如果变量 X=10,运行 C;


如果变量 X=11,运行 D。


有了 2 个量子比特,普通计算机要算 4 次的程序,量子计算机也只要算 1 次。


如果把量子比特加到 10 个,那么普通计算机要算 2^10=1024 次,或用 1024 个 CPU 同时算的程序,量子计算机只需要用 1 个 CPU 算 1 次。


看出问题的严重性了吗?


把量子比特加到 100 个以上,那么,当今地球所有计算机同时运行 100 万年的工作量,量子计算机干完只要几分钟!


对于曾经需要消耗巨大算力才能破解的 RSA 加密,这是一个灾难性的未来。


1994 年,全球 1600 个工作站同时运算了 8 个月,才破解了 129 位的 RSA 密钥。若用同样的算力,破解 250 位 RSA 要用 80 万年,1000 位则要 10^25 年——而对于量子计算机,1000 位数的因式分解连 1 秒钟都不到。


在量子计算机的最强之矛面前,现在最流行的 RSA 加密将无密可保,所有基于 RSA 的金融系统将瞬间变成透明人。


唯一能防住量子计算机的,只有最强之盾:量子加密通信。




和 RSA 等依赖计算复杂度增加破解成本的加密方式不同,量子加密通信是「无条件安全」的,对量子计算机的恐怖计算能力先天免疫。


虽然量子比特的制备极为困难,目前最高纪录只有可怜的 5 个量子比特,但谁也不知道,量子计算机的爆发——或者说传统加密的末日,将会在何时到来。


这就是为什么,在广大人民群众一片「看不懂」的声音中:量子通信卫星「墨子号」上天了;京沪量子通信干线快建成了;工商银行在北京用上了量子通信做同城加密传输;阿里云的数据中心已经在用量子通信组网。




暂时落后的欧盟,也信誓旦旦,要在 2018 年投入 10 亿欧元做量子通信。


就连扎克伯格未满月的女儿,都让他爹读《宝宝的量子物理学》。


你还觉得这种高深的学问,懂不懂也没什么关系,反正全世界也没几个人能懂?


未来,已来。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈