关于量子保密通讯
2016 年 8月16日,世界上第一颗量子科学实验卫星“墨子号”成功发射,引起了很大的轰动,极大的反响。四面八方的各种疑问,指责,扑面而来:有的说是痴心妄想,有的说是个摆设而已,更有甚者说这是个骗局。
科学上的争议需要摆事实讲道理,如果怀疑是骗局,请拿出实验证据,还有经过同行评审的科学期刊上发表的论文,这是正道。否则,这些怀疑和谩骂对科学界没有任何影响。
我抱着好奇心,阅读了中国科技大学袁岚峰教授发表在 2016 年10月15日的华夏文摘上的《关于量子通信》的文章, 以下基本上是按照袁教授的思路,对他文章的理解和注明:
量子信息是量子力学和信息科学的交叉学科。量子信息是个非常庞大的学科,包括很多方面,量子通信仅仅是量子信息这个学科的一个部分。然而,再进一步细分,量子通信中的一部分,称为量子保密术,或者量子密钥分发,或者更为通俗——量子保密通讯。
什么是量子保密通讯?保密两字,顾名思义,这种通信含有保密技术。那么,为什么要用量子来通信呢?难道传统的保密通信有缺陷?
要说明这些问题,先让我们看一下什么是传统意义上的保密通讯:
传统的,经典的保密通讯方法有它的学名 —— “对称密码体制”。冠以“对称”两字,因为通信双方都知道一组编码的规则,即“密钥”。这样的体制,密码的本身是安全的,但是,密钥的分发,或者说,密钥的传递不安全。
先来说一下,为什么密钥本身是安全的。按照密码学的鼻祖,克劳德-香农(Claude Elwood Shannon)理论:“如果密钥是一串随机的字符,而且跟要传递的信件一样长,或者更长,而且每传送一次都更换一次密钥(这叫做一密一钥),那么敌方不可能破译密码”,这不是一个经验总结,这是一个数学定理,而且已经被证明了的,所以,它的正确性无可争议。
然后说一下,为什么密钥的传递不安全。传统的通信方式,要让通信的对方知道密钥,传递的手段无外乎有这几种:无线电,电报,电话,电子邮件。这种传输的通道,被敌方截获的可能性非常大。最安全的办法,是让通信的双方直接见面,当场交换密钥,可是,如果双方能够方便地见面,那还要通信干什么?
那么,找一个信使,让信使来传递密钥。我们熟悉的电影《红灯记》和《潜伏》,剧情中的谍战勇士,为传送密钥,冒着生命危险,甚至献出了宝贵的生命。其实,这里还是有问题的,不是所有的信使都可靠,也不是所有的信使都会像李玉和那样宁死不屈。在严刑拷打下,信使变节投降的事迹不少。再说了,送一次密钥千辛万苦,“一密一钥”是难以实现的,事实上,往往是六个月,甚至一年换一次密钥,这样的低频率换密钥,违反“香农”定理,给敌方造成很大的空隙破译。第二次世界大战时,纳粹轴心国的密钥被美国碟报系统破译,造成日本海军司令山本五十六的行动计划暴露,毙命于座机被击落,体现了传统密钥输送体制的漏洞。
数学家很聪明,想了一个绝妙的办法,设计了一个“不对称”的密钥体制。我们来看一下,“不对称密码体制”是怎样运行的:
假设,甲方是送信者,乙方是收信者。乙方打造一把锁和一把相应的钥匙,锁是打开的,乙方把打开的锁寄给甲方,甲方把信息放在箱子里,锁住,寄还给乙方。乙方收到箱子,用钥匙打开,得到密件,信息传输完成。
这里的关键是,这把密钥只有乙方独有,密钥没有旅行,箱子即使在途中被截住,没有那把钥匙,就没法打开箱子,所以说它是安全的。这当然仅仅是抽象形式上的比喻。 甲方把箱子锁住,数学家叫它“加密”;乙方用钥匙把锁打开,数学家叫它“解密”。说这种体制的不对称性,粗略的说,就是对于信息,加密容易解密难。
这种思维非常巧妙,它是运用了一种现象,即有些事情正向操作很容易,反向操作则非常困难。在数学里,把一个合数分解成质因数的乘积,比如 6=2x3, 是个“易守难攻”的问题,也就是说,如果已经知道 2和3,很容易得到6,把它们乘起来就是了。但是,如果只知道 6,要把它因式分解为 2x3,则要困难得多。
有人马上会说,木桩又在忽悠人了,不就是因式分解嘛,很容易。朋友,先别那么说,我给你的6=2x3 当然容易,但是,科学家有那么傻吗?他会给你那么容易的因式分解吗?他给你的是 147,573,952,589,676,412,927 你怎么办?这是个21位数,几百年来,人们一直认为它是个质数,直到1903年,人们才发现它是个合数,它等于193,707,721 x 761,838,257,287。
所以,加密的一方只须知道合数147,573,952,589,676,412,927,用它来加密。解密的一方则必须知道193,707,721 x 761,838,257,287=147,573,952,589,676,412,927,用两个质因数193,707,721 和761,838,257,287 来解密。相信您现在也看明白了,如果加密方案,也就是147,573,952,589,676,412,927 被人知道,也没有关系,因为要想把这个21位数的数因式分解为193,707,721 x 761,838,257,287 ,用传统计算机需要很长的时间,恐怕等到你的头发变白,告老归天,也未必能等到结果。这不是耸人听闻,这是事实。比如,分解一个300 位的数字,需要 15 万年。由此看来,加密方案甚至可以公开,完全不必保密。
不过,上面讲的情形只适用于传统计算机,如果使用量子计算机,则又是另外一回事了。
数学家已经发明了一种量子算法,把因式分解的速度从指数级降到了平方级。这样,上述需要15万年的因式分解,1秒钟就能完成了。当然, 这是理论上的证明,纸上谈兵。现在的量子计算机还不能对很长的数实现这样的算法,但是,以后总会实现的,到了那个时候,这种用大数因式分解来加密解密的方法就行不通了。
为了克服这个困难,科学家们现在正在考虑量子密码术。这种密码术仍然是对称密码体制,它是这么运作的:同时在通讯双方产生同一个随机密钥。具体来说,甲方随机发送出一串状态为 0 或 1 的光子,乙方来测量这些光子,根据量子力学原理,双方即可得到一串完全相同的,由 0 或1 组成的随机序列。通讯双方挑选各自生成的随机序列的一部分予以公布。如果有人在窃听,这公布的一段就会产生不同,这也是因为量子力学的原理 —— 窃听者的测量有可能改变量子的状态。这样,双方就知道有人在窃听了,立刻停止通讯,这次通讯作废。如果无人窃听,双方就用随机序列的另外一部分作为密钥。
但是,如果敌方永远守在那里窃听,打死也不走,那么通讯就发不出去了,怎么办?科学家认为,如果有人窃听,发射方或接受方应该能测出窃听的时间和地点,所以,窃听者也有很大的暴露和被抓的危险。
以上所描述的只是理想情形。实际上单个光子发送的效率较低,而激光,则有可能出现多个光子,它的保密性就要打折扣了。这个漏洞和类似的其他漏洞产生的效果,使得量子通讯的安全传送距离受到限制,到目前为止,大概只能达到200 多公里。这就是为什么要用到量子卫星,发射方和接收方通过量子卫星做中介进行通讯。光子在地面和卫星之间的传输损耗较小,使得这种通过量子卫星中介的通讯成为可能。
袁岚峰教授的文章中,颇为详细地介绍了量子力学的知识,这部分很专业,超出我的知识范围,我没有能力进一步科普。如果你的目的只是理解量子保密通信,那么你只需要接受它的事实就行了。科学的目的不是提供解释,而是提供跟实验一致的数学描述。
此文权当抛砖引玉,如有错误之处,望专家们指出。