为什么量子通讯绝对安全?随机数是关键


为什么量子通讯绝对安全?随机数是关键



出品:科普中国
制作:陈星
监制:中国科学院计算机网络信息中心
想必大家对随机数都不陌生 。 掷骰子时 , 骰子出现的1-6就算是一种随机数;抛硬币时 , 硬币产生的正反面也是一种随机数 。 而在计算机中 , 随机数算法产生的一串数字也可以认为是随机数 。
骰子(图片来源:https://www.iconspng.com/image)
随机数可以分为两类:伪随机数和真随机数 。 所谓的伪随机数就指看似随机实质上并非随机的随机数 。 平时我们在计算机程序上使用的随机数都是伪随机数 , 它们是用特定的算法生成的 , 本质上可以预测 , 因此是伪随机数 。
伪随机数的算法一般来说都是具有周期性的 , 但是这种周期是非常巨大的 , 一般是不会被注意到的 。 但是通过超级计算机的演算 , 找出伪随机数的规律性并不是什么困难的事 。
因此 , 伪随机数虽然完全能够满足日常生活需要 , 但对于银行、军事等方面的应用就不是很安全 。 另外 , 如果产生伪随机数的算法事先就已经被敌方获取 , 那么信息的加密更是无从谈起了 。
真随机数指的是随机数的样本不可重复 , 无法预测 , 具有真正的随机性 。 因为经典的宏观世界本质上是可以预测的 , 真随机数的产生只能通过量子物理来实现 , 例如核裂变 , 单光子随机数等等 。
量子物理之所以能产生真正的随机数 , 是因为它利用了量子态的叠加性 , 当测量的时候 , 量子态会随机坍缩到一个确定的态 。 这种坍缩是一类真正的随机 , 任何理论都无法预测 , 因此由量子物理产生的随机数是真随机数 。 目前 , 科学家已经证明了通过叠加的量子态产生的随机数是绝对不会被重复的 。
利用分光镜产生随机数(图片来源:https://www.qdab.org/uploads/4/1/8/0/41800633/qrng_thesis.pdf)
真随机数是量子保密通讯的基础 。 不管是我们的量子通讯线路“京沪干线” , 还是量子科学实验卫星“墨子号” , 不同中继站之间的保密通讯的基本上都是通过交换随机数完成的 , 因此随机数的安全是整个量子网络安全的基础 。
量子网络示意图(图片来源:http://www.museum.uestc.edu.cn)
那么随机数对于量子通讯来说为什么很重要呢?这其实还要从量子密钥分配说起 。 量子保密通讯最重要的一步就是进行量子密钥分配 , 常见的量子密钥分配算法有BB84 , B92等 , 它们本质上都是为了实现随机数的分配 。 我们的“京沪干线”主要采用BB84协议进行量子密钥分配 , 下面我们简单讲一下BB84协议 。
BB84示意图(图片来源:http://www.upchina.com/article/26652.html)
BB84需要两条信道 , 一条量子信道 , 一条经典信道 。 也就是说 , 使用BB84时 , 必须保留对经典信道的使用 , 否则无法完成密钥协商 。 在这个过程中 , 密钥分配的双方分别叫做Alice和Bob 。
首先 , Alice产生两串随机数a 和a’ ,  然后根据aa’来决定通过量子信道给Bob发送什么样的量子态 , aa’可能的结果有四种00,01,10,11 , 根据这四种结果 , Alice相应会发送量子态|0>,|+>,|1>,|->;
紧接着 , Bob产生一串随机数b’,然后根据b’来选择不同的测量基来测量Alice发送过来的量子态 , b’是0时选择Z测量基 , b’是1时选择X测量基 , 最后得到结果b;

推荐阅读