真相?谎言?告诉你一个真实的量子通信(中篇)
上一期,我们主要介绍了什么是量子,以及量子通信分为“量子密钥分发”和“量子隐形传态”。
今天,我们继续这个话题。
考虑到本篇内容需要思路高度集中,小枣君今天就不配太多的图片了。^_^
我们分为两篇,今天说“量子密钥分发”,明天是“量子隐形传态”。。。
说“量子密钥分发”之前,我们来说说什么是密钥。
大家都知道,有人类社会,就有人与人之间的沟通,有通信需求。
从烽火台、狼烟、击鼓、旗语、飞鸽传书,再到电话、电报、互联网。。。
有通信需求,就要有通信保密的需求。。。
普通人之间的秘密,企业之间的秘密,国家之间的秘密。。。
如何保护通信的秘密,至关重要。
这一点,下面几位深有体会。。。
关于加密和解密的故事,一本书都说不完。。。
传统的加密方式是这样:
A通过加密算法,和密钥,对明文进行一定的数学运算,编制成密文,传递给B;
而B通过解密算法(加密算法的逆运算),和密钥,进行相应的“逆运算”,把密文翻译还原成明文。
前提是:A和B都要有密钥。
获得密文,非常容易:
你用无线电的话,是开放的,对方很容易截获。
你用有线的话,通讯距离几千公里,你能保证每一段都没问题吗?
即便是光纤,也很容易被窃取信息:
▼光纤弯曲窃听法(通过弯曲光纤,外泄部分光信号,进行窃听)
所以,密钥非常关键。也就是我们在谍战剧里面看到的密码本。
关于密钥,以前是密码本,后来是密码机,再后来就是RSA等加密算法。
以前,因为计算能力有限,设计一个算法很快,破解一个算法很慢,难度很大,时间很长。
现在,有了计算机,超级计算机,计算能力越来越强大,破解算法的速度非常快,
RSA512算法在1999年就被破解
RSA768在2009年被破解
MD5和SHA-1两大密算也已告破
面对破解难度增加的算法,超级计算机破解只是时间问题。传统计算机尚且可以,在量子计算机面前,传统算法根本没有能力抵抗。
究竟怎么样才能实现真正的绝对安全?
信息论创始人香农,总结提出了“无条件安全”的条件:
密钥真随机且“只使用一次”
与明文等长且按位进行二进制异或操作
这样的方法,理论上是不可破译的,香农对它进行了严格的理论证明。
但它也有缺点,就是需要大量的密钥,而密钥的更新和分配存在漏洞(存在被窃听的可能性)!
所以,不解决密钥分发的问题,就不可能实现无条件安全。这也导致了在香农发布了这一成果之后,根本没有人商业使用这种方式。
而量子密钥分发,就是为了解决这个问题。
注意,前方高能预警!请务必跟上小枣君的思路!
1984年,IBM公司的研究人员Bennett和蒙特利尔大学的学者Brassard在印度召开的一个国际学术会议上提交了一篇论文《量子密码学:公钥分发和拋币》(Quantum cryptography: Public key distribution and coin tossing)。
他们提出了BB84协议。该协议把密码以密钥的形式分配给信息的收发双方,因此也称作“量子密钥分发”。
具体的原理如下:
因为光子有两个偏振方向,而且相互垂直。
所以,单光子源每次生成的单个光子,可以是这样:
我们可以简单选取“水平垂直”或“对角”的测量方式(我们称之为测量基),对单光子源产生的单光子进行测量。
当测量基和光子偏振方向一致,就可以得出结果(要么是1,要么是0);
当测量基和光子偏振方向偏45°,就不能得出准确的结果。
光子就会变化,偏振方向改变45°,那么就是1或0的概率各50%
所以,两种测量基,对不同偏振方向光子的测量结果归纳如下:
好了,原理就是这样。
生成一组二进制密钥的过程如下:
(注意!下面所说的过程,都是为了生成密钥,不是在发送信息报文本身!)
发送方(我们先称为A),首先随机生成一组二进制比特(所谓的经典比特,0或1这种)。
例如:
A对每1个比特,随机选择测量基。
例如:
所以,发送的偏振光子分别是(见下图中虚框):
接收方(我们先称为B),收到这些光子之后,随机选择测量基进行测量:
例如依次选择以下测量基:
那么,测量结果如下(见虚线框内):
A和B通过传统方式(例如电话或QQ,不在乎被窃听),对比双方的测量基。测量基相同的,该数据保留。测量基不同的,该数据抛弃。
保留下来的数据,就是最终的密钥。 (下图中,1001就是密钥)
如果,存在一个窃取者(我们称为C)。
如果C只窃听A和B对比测量基,那C会得到这样的信息:
不同 不同 相同 相同 不同 不同 相同 相同
这个对他来说,没有任何意义。
C只能去测量A到B的光子。
注意! 因为量子的不可克隆性,C没有办法复制光子。
C只能去抢在B之前进行测量(劫听)。
如果C测量,他也要随机选择自己的测量基。
那么,问题来了,如果C去测量刚才那一组光子,他有一半的概率和A选择一样的测量基(光子偏振方向无影响),还有一半的概率,会导致光子改变偏振方向(偏45°)。
如果光子的偏振方向改变,那么B的测量准确率肯定受影响:
没有C的情况下,A和B之间采用相同测量基的概率是50%。
所以,A和B之间拿出一小部分测量结果出来对比,有50%相同。
有C的情况下,A和C之间采用相同测量基的概率是50%。B和C之间采用相同测量基的概率是50%。
所以,A和B之间拿出一小部分测量结果出来对比,有25%相同。
由此,可以判定一定有人在窃听。 通信停止,当前信息作废。
对于单个比特来说,C有25%的概率不被发现,但是现实情况绝对不止1个比特,肯定是N个数量级的比特,所以,C不被发现的概率就是25%的N次方。
稍微懂点数学,就知道这个数值的恐怖。。。
25%的10次方:9.5367431640625e-7
25%的20次方:9.094947017729282379150390625e-13
……
能理解了吗? 希望你跟上了思路,如果逻辑思维能力OK,这个过程应该是不难理解的。
总而言之,量子密钥分发(其实叫量子密钥协商,更为准确),使通讯双方可以生成一串绝对保密的量子密钥,用该密钥给任何二进制信息加密,都会使加密后的二进制信息无法被解密,因此从根本上保证了传输信息过程的安全性。
其实,如果稍加思考,就会发现这种密钥分发方式存在一个问题,那就是:
这个方式只能发现窃听者,不能保证通信的稳定性!
你想,如果窃听者不停地窃听,怎么办?A和B虽然可以随时察觉被窃听,但是他们所能做的,就是停止通信啊。如果通信停止了,那通信的目的就达不到了啊。
所以,业内对量子通信的争议,很大一部分就在于此:
“如果窃听者消失了,那么任何密码技术都是多余的。”
反对者的逻辑是:
如果乌龟躲在乌龟壳里面,它一伸出头,鸟就啄它,那么它只能缩回去,它再伸,鸟再啄,它就永远没机会吃东西。。。只能饿死。。。
支持者的逻辑是:
通信的保密性要大于消息的稳定性。如果确认不安全,那宁可不传。
如果我和你说话,我发现有人偷听,那我就不说。但是,正常情况下,我们不可能坐以待毙,我们肯定会派人去抓出窃听者(量子通信里,根据计算,很容易找到窃听点)。
对方不可能明知道会被抓,还坚持窃听,再多的窃听者也不够抓的。
“通信密钥分发”方式的量子通信,就是拥有随时发现窃听者的能力,给窃听者以震慑,以此保卫自己的通信安全。
如果真的是对方鱼死网破,全力阻止你通信,那么不仅是量子通信,任何通信模式都是无力抵御的(针对无线通信的信号干扰和压制、针对有线通信进行轰炸和破坏)。
世界上最可怕的,就是你的通信被窃听了,而你自己却不知道。
难道不是吗?
好啦,今天的烧脑就先到这里,估计有耐心看完的人一定不多。。。
明天,是量子通信的最后一篇,关于最诡异的量子隐形传态。。。
有勇气的,记得来看哟!
往期回顾:
投稿请查看: