量子密钥分发:从一个扑克牌魔术说起

描述

量子密钥分发(英语:quantum key distribution,简称QKD),是利用量子力学特性来保证通信安全性。它使通信的双方能够产生并分享一个随机的、安全的密钥,来加密和解密消息。

首先大家来看一段视频,视频中一副扑克牌分成上下两叠,在“洗乱”之后,给Alice和Bob两人轮流发牌,每次取一对相邻的两张牌,分别发给Alice和Bob各一张。仔细留意观察一下,会发现“情况不正常”,每次的一对牌,总是相反的一红一黑,虽然红黑在谁手中不一定。但如果发给Alice的是红色牌,发给Bob的就一定是黑色牌,反之亦然。视频中只展示了五对牌,但如果把一整副牌都发完,也总会是“一红一黑”配对的。

在这副特殊扑克牌的基础上,自然可以开发出各种魔术戏法,比如Alice和Bob相当于分别是魔术师和观众,魔术师每次取一对牌,让观众任选一张,自己拿另一张,每次在看不到观众手中什么牌的情况下,根据另一张牌相反的颜色,总能猜对观众手中牌是红色还是黑色。这种洗牌后还能“红黑配对”的神奇扑克牌在什么地方能买到?文章末尾会告诉你。

正常来说,一副真正随机无序的扑克牌,每次取出相邻两张牌的颜色,有四种可能:“红红”,“红黑”,“黑黑”,“黑红”,两张牌的颜色是相互独立的,没有关联的,从一张牌的颜色也无法判断出另一张牌的颜色。可是刚刚那副牌将可能性减少到了两种:“红黑”和“黑红”,两张牌的颜色虽然在翻开前仍然是不确定的,但是相互关联,相当于“纠缠”或“捆绑”到了一起。

在信息加密中,我们常常需要通过一套复杂数学算法把原始明文转换成杂乱无章的密文,而使用不同的密钥加密后的结果是完全不一样的,每个密钥可以是一个1和0组成的二进制随机数字串,比如对于同样的明文“I love you!”,密钥是1010101010,密文会是gh*%jku&rl#;密钥要是1100001101,密文就会是@jkm&opc*ad。“解铃还须系铃人”,反过来要从密文中恢复出明文“Ilove you!”,也需要对应的正确密钥,否则解密者将一无所知。所以整个过程中需要保证加密者和解密者手中拥有一致的密钥,需要一个“密钥分发”的过程。

其实上面的这副扑克牌就是一种密钥分发的工具,如果把十对牌依次分发给Alice和Bob,每人十张,发的时候是背面朝上的,并不当场翻开看,然后把各自十张牌保持原有顺序分别装到一个信封里,Alice和Bob可以携带着自己的信封到任何地方,需要使用的时候再打开信封,看一下十张牌的颜色排列,同时也立刻知道了对方信封中的十张牌的颜色排列。Alice用红色表示1,黑色表示0,Bob用红色表示0,黑色表示1,就可以利用牌颜色的二进制序列作为共同的密钥。Alice和Bob两人分别在中国和美国,分别在地球上和火星上,都没有关系,像是建立起了一种超时空的心灵感应。当然在现实中不会使用扑克牌做密钥分发工具,比较常见的是网上银行U盾这样的电子设备。

用两个信封里的“相互感应”的扑克牌作为密钥,其实会有两个风险难以避免,一是可能被第三方某个人偷看了,Alice和Bob也无法察觉,二是其中一个信封中的牌可能被第三方某个人偷偷替换掉包,也就是说两人实际使用的密钥已经不一致了,但却还以为是一致的。而“量子密钥分发”恰好可以帮助解决这两个难题。

一张扑克牌或者手电筒发出的一束光都属于宏观世界,而如果把物体尺度缩小很多倍,进入的是微观世界,组成一束光最小基本单元称为一个光子,每束光中包含非常多数量这样的微小光子,常常数以亿计都不止。单个光子会表现出量子效应,这是一张扑克牌这样的宏观物体所不具备的,上面所说的一对扑克牌的红黑颜色纠缠关系与真正的“量子纠缠”也大不相同。

单个光子会自己绕着自己转,称为自旋,横着竖着斜着都可以,使得每个光子具有了某一偏振方向,用角度来表示。此时红色牌和黑色牌可以分别对应于两个不同的光子偏振方向,比如0度和90度分别表示0和1,或者45度和135度分别表示0和1。当然光子偏振方向人眼不可能直接看出来,需要专门的仪器来测量(如不同方向的光偏振片)。两个光子通过一定方式也可以纠缠到一起,使得测量出的0和1结果总是正好相反,比如只要一个光子偏振方向是0度,另一个光子偏振方向就会是对应的90度,就像每对扑克牌总是一黑一红一样。

量子密钥

图1:量子世界中一个光子的偏振方向取决于你怎么测量

可是事情却又不是那么简单,一张扑克牌无论你有没有翻开看,用什么方式看,它“非黑即红”的颜色已经确定了。可光子的偏振方向在观测前是“薛定谔的猫”,具有不确定性,观测的结果还跟你的测量方式有关。测量仪器也分为检测不同偏振方向的,比如有的是专门检测0度还是90度的,有的是专门检测45度还是135度的,称为不同的“测量基”,互相之间并不匹配,就像两款不同手机分别要用两种不同接口的充电线一样。两个处于纠缠状态的光子如果分发给Alice和Bob,双方都用同样的测量基检测,才会保证测到的0和1结果总是相反(也有可以保证结果总是相同的别的纠缠方式),如果用不同的测量基检测,会出现0和1结果各自独立,互不相关,完全随机的结果,相当于没有纠缠发生。有点像影院里看3D电影的时候,通过左右眼镜片看到的画面不同,才会产生立体感,所以如果只用单眼看,两人要同时使用左眼镜片或者同时使用右眼镜片,看到的画面才是完全一致的。

我们可以把纠缠的光子一对一对地分发给Alice和Bob,用于密钥分发。Alice和Bob每次掷骰子方式随机选两个测量基其中一个来测量,有可能两人选的一样,也有可能恰好不一样,只有测量基恰好一样的时候,得到的1或0结果才是相反的,测量基不一样的时候,双方的1和0结果就听天由命了。测量完之后,双方告知对方各自使用的测量基序列是什么,然后心照不宣地只使用相同测量基对应的那些结果(下图中蓝色的)作为共享密钥,剩下的结果也可以公布出来,用于确认信息有没有泄露。而第三方偷看者事先即不知道Alice使用测量基先后顺序,也不知道Bob使用的测量基先后顺序,单靠猜测,一两次或许能碰巧“蒙对”,次数多了一定对不上了,导致难以获得正确的密钥。

量子密钥

图2:利用纠缠光子进行量子密钥分发的方法

而量子世界的神奇还不限于此,不仅对于两个纠缠状态的光子,最后测到的偏振方向结果和测量方式本身有关,即使对于单个光子,明明在一方刚开始发出去的时候是一个偏振方向,另一方测量的时候因为选取的测量基不匹配,也可能会测到另一个与初始偏振方向不相符的结果。如果在Alice或Bob测量手中的光子前,偷看者自己抢先先测一遍,再按照测量结果重新生成光子发给Alice或Bob,由于偷看者使用的测量基序列和Alice或Bob的实际测量基序列不一致,不仅得不到正确结果,还会“偷鸡不成蚀把米”,暴露了自己的“不轨行为”。

经过偷看者“如假包换”的光子到达Alice或Bob手中后,两人公布部分检测基序列,比对结果时就会发现破绽,让偷看者的行为“原形毕露”。具体来说,两人检测基一样的时候,部分结果不是1和0相反,两人检测基不一样的时候,反倒有异常多的结果显示出1和0总是相反。

事实上量子密钥分发既可以使用很多对纠缠的光子(BBM92协议),也可以使用一长串单个的光子(BB84协议、B92协议),前者是Alice和Bob分别各测一对纠缠光子中的一个,后者是Bob测量Alice生成发出的同一个光子。由于量子世界的奇妙的特性,两种方案都可以获得宏观经典世界无法实现的安全效果:“信封里的扑克牌”一旦被人偷看或调包,就可以察觉出来,并且让偷看者得不到正确的密钥信息。

密钥好比是一间秘密储藏室的大门钥匙,保管和传递好这把钥匙,才能放心在密室里存放自己的物品。量子密钥分发正是一种保管钥匙的绝招,对于无论是银行金融机构交易信息的保密,还是互联网电子商务个人隐私信息的防护,都可以发挥重要作用。

实际实验中,双光子纠缠态的制备可以利用光学系统自发参量下转换过程,比如依靠激光泵浦特殊切割角度的非线性光学晶体来产生。那么文章开头视频中总是红黑成双成对的“纠缠”扑克牌又是怎样“制备”的呢?其实很简单,一副52张或54张的普通扑克牌,红黑牌各占一半,然后把牌分成两叠,每一叠牌中保证都是红黑相间的,并且两叠牌最下面一张保证是颜色相反的,像下图这样(例如黑桃Q和方片3),然后把两叠牌以常规的方式洗牌一次,互相穿插叠到一起,并不需要洗牌高手那样“一张压一张”,也就是说两叠每次落下的牌数量有一定随机性,但是最后交错合到一起后,还是总能保证每次取出相邻一对,必定是一红一黑,这与奇数和偶数的性质有关,这里就不做详细解释了。

量子密钥

图3:颜色相互纠缠的扑克牌“制备”方法

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分