一、量子通信的基本原理
通信简而言之就是将信息从一个地方传到另外一个地方,我和另外一个人说话就是一种通信,如果不想让其他人听到可以在贴着耳朵说悄悄话,但离得非常近的人还是可以听到这种明文的通信。于是加密的通信从古至今在不断地发生进化,旗语、手语、密信等等都属于加密通信的方式。量子通信是一种基于量子力学原理的通信方式,能够实现绝对安全的信息传输和加密,是未来信息安全领域的重要研究方向之一。量子通信的基本原理是利用量子力学中的量子态纠缠和不确定性原理,实现信息的传输和加密。
1.量子态纠缠
量子态纠缠是量子通信的重要基础。纠缠是指两个或多个量子系统之间的关系,在某些情况下,它们的状态之间是密切相关的,无论它们之间有多远的距离。这种关系是量子力学中的一种非经典特性,与经典物理学中的相关性不同。例如,当两个粒子处于纠缠态时,如果对其中一个粒子进行测量,它的状态会瞬间反映在另一个粒子上,不论它们之间有多远的距离。这种“瞬时相互作用”是量子力学中的非经典现象,也是量子通信中实现加密的关键。
2. 测不准原理
测不准原理是量子通信中的另一个基本原理。根据量子力学的测不准原理,任何测量都会对量子系统的状态造成扰动,测量的精度和干扰程度是存在着一定的限制。这就意味着,如果有人试图窃取传输的信息,他们必须进行一定程度的干扰,这样就会破坏量子系统的状态,使其无法重现原始信息。这就是量子通信中的“量子保密”。
二、量子通信的技术路线
量子通信是一个多学科交叉的领域,需要结合物理学、数学、信息学等多个学科的知识和技术。在技术实现上,目前主要有两种途径:量子密钥分发和量子电报机。
1.量子密钥分发
量子密钥分发是一种通过量子力学原理实现加密通信的方法。在量子密钥分发中,发送方利用量子纠缠的特性,向接收方发送一串随机的单光子,接收方通过测量这些光子的状态,可以得到一串随机数,这就是密钥。由于量子纠缠的特性,任何试图窃取信息的第三方都会导致量子态的崩溃,因此这个过程是绝对安全的。接收方利用这个密钥进行加密和解密,从而实现保密通信。目前,量子密钥分发已经被商业化并在实际应用中发挥了作用,例如金融、政府和军事领域。
2.量子电报机
量子电报机是一种类似于传统电报机的通信方法。在量子电报机中,发送方利用量子态的不确定性原理,向接收方发送一串随机的量子态(例如一个单光子或者一个纠缠态),接收方通过测量这些量子态的状态,可以得到一串随机数或者原始信息。由于量子态的不确定性,任何试图窃取信息的第三方都会导致量子态的崩溃,因此这个过程也是绝对安全的。
三、量子通信的优势
量子态由于是不确定的,所以它具有天然的防止窃听的性质。比如现如今经典信道传输的电磁波可以被轻易地复制出来慢慢破解,而整个复制的过程你并不知道。但想对量子态进行复制是非常困难的,想要复制量子态就必须先测量,测量的过程必然对量子态造成干扰,一测量导致波函数塌缩,量子激发态想要再变回来几乎不可能。量子通信虽然没有办法被监听测量,但可以利用量子力学特性实现密码协议的安全通信方法,它使得通信的双方能够产生并分享一个随机的、安全的密钥,这个过程就是量子密钥分发(QKD)。
四、BB84密钥分发协议
BB84协议是一种“密钥分发协议”,所以从功能上来讲,它要实现的目标与RSA加密算法一样,都是安全地传递密钥。相信大家也听说过,RSA算法从原理上来讲并不是不可破解的而是“很难破解”的,即通过公钥破解加密的密文并不是不可能做到,而是通过公钥破解密文很难,可能需要成百上千年。这就相当于让破解者做一道很难算的数学题,等破解者算出来,这次通讯已经结束,破解已经没有意义了。但是可以想见的是,随着计算机性能的不断提升,原来需要成百上千年才能做出来的数学难题现在说不定只用几秒就能算出来,而且新兴的量子计算也对RSA加密算法构成威胁,理论上讲,密钥为1024位长的RSA算法,用一台512量子比特位的量子计算机在 1秒内即可破解。
1.通讯工具
首先,BB84协议要求通信双方拥有一条量子信道的同时,还拥有一条传统信道。然后在量子信道上,信息发送方需要4种状态的量子作为信使,信息接收方需要2种量子接收器。为了避开深奥的量子知识,我们想象4种量子信使是4种姿态不同的飞镖,我们把飞镖分成两组:“横竖”组和“撇捺”组。
两组量子信使需要分别使用两种不同的接收器来接收。“横竖”组对应“+”形接收器,“撇捺”组对应“x”形接收器。
我们规定每组量子中有一种姿态代表0,另一种代表 1。例如,我们规定,接收到“横”代表0,那么,接收到“竖”代表 1。同理,规定接收到“撇”代表0,接收到“捺”代表 1。
现在如果我们挑选正确的接收器,那么我们能正确地接收到信息发送者想发给我们的信息。例如,我们如果用“+”形接收器来接收姿态为“横”的量子,那么我们得到的信号就是“横”,那么发送者想传递的“0”这个信号就会被我们正确地接收到。
如果我们没有用正确的接收器会发生什么呢?如果我们用“x”形接收器接收姿态为“横”的量子会发生什么呢?量子信使会撞在接收器的入口上,导致接收器接收不到信使吗?不一定。下面是这篇博文里唯一与量子力学相关的知识:姿态为“横”的量子经过“x”形接收器时,有可能会改变自己的姿态,变成能通过接收器的姿态,也就是姿态为“横”的量子经过“x”形接收器时,姿态可能变为“撇”,也可能变为“捺”,那么传达的信息有可能还是发送者想传达的0,但也可能变成了相反的 1。
错误地使用“+”形接收器接收“撇捺”组量子信使同理,信息接收者无法分辨原本信息的发送者想传递的究竟是0还是 1。
2.BB84协议
有了上面的铺垫,我们可以开始了解BB84协议的具体内容。按密码学传统,我们把信息发送者叫做Alice,信息接收者叫做Bob。现在他们要用BB84协议,为他们的通信确定一个密钥。
1)发送方Alice随机产生一组二进制序列sA。为了举例描述简便,我们假定该序列为8 bit,数值为[01100101]。然后,Alice再生成另一组相同长度的随机序列mA。
2)假定mA为[10111100],这就是在量子信道中(比如在光纤中)发送的序列。根据这两个序列,调制产生8个光子。根据表1中的关系确定如何调制每个光子的状态,具体状态如图2中所示。下图为BB84协议示意图
3)由于接收方Bob并不知道应该用哪组基进行测量,所以Bob生成一个随机序列用来选择测量基,假定称之为测量基序列mB,比如是[00101010]。按照表2的关系选择测量基,Bob对粒子进行测量。
之后,Bob 通过经典信道通知 Alice 他所选定的测量基序列 mB。
然后,Alice 比较 Bob 的测量基序列 mB和她自己保留的发送基序列 mA,并通知 Bob 所采用的测量基中哪些是相同的,哪些是不同的。Alice 和 Bob 分别保存其中测量基一致的测量结果,并且放弃其中测量基不一致的测量结果。根据所选用的测量基序列的出错率判定是否存在攻击,如果异常则中止协议。
4)Alice 和 Bob 将量子态编码成二进制比特。
5)最后 Alice和 Bob 获得相同的密钥序列 kA和 kB。
下图详细描述了BB84协议的过程:
3.为什么这样做能防止通讯被窃听
-
在传统信道上的窃听 按照密码学传统,我们称窃听者为Eve。如果Eve在传统信道上窃听,她会在上述第四步听到Bob的测量方式,但是Bob没有发送测量结果。Eve还会听到Bob一部分正确测量位以及测出的结果(上述第六步中,Eve会听到集合D以及对应的测量值),但是最后Alice与Bob选择通信密钥时会完全丢弃集合D,即完全丢弃在传统信道交流过的那些位。到最后,Eve只知道Alice与Bob使用了S的哪些位用作通讯密钥,但是Eve不知道这些位上的具体数值是多少。 -
在量子信道上的窃听 Eve遇到上面的困难,心一横,决定去窃听量子信道上Alice一开始传给Bob的二进制串S。但是首先Eve就遇到一个问题:她不知道该选用什么接收器序列来接收量子信使。如果用了一组随机的量子接收器序列接收量子信使。这样一来Eve必然使用了很多不合适的接收器,这样也就导致了一些量子信使的状态被改变,这些改变会在Alice-Bob后续的交流中被察觉。例如,S在某一位上的值是 1,Alice用竖姿态量子信使发送了这一位信息,但是Eve错用“x”形接收器接收这一位信息,这样此量子可能变成了撇量子(或捺量子),但Bob在这一位上恰好猜对了,他用“+”形接收器接收经过Eve窃听过的量子信使(撇或捺量子信使),结果量子信使变成了横姿态量子信使(当然也有接收成竖姿态量子,信息碰巧正确地被传递了,这时这一位不会引起Alice-Bob的注意),原本是 1的值Bob用合适的接收器接收却得到了0。
如果Bob正好把这一位选中发给了Alice,那么Alice就会发现Bob在这一位上明明使用了正确的接收器却没有得到正确的值这种情况出现频率超过某个阈值,Alice就会察觉有人在窃听量子信道。
所以其实BB84协议只能保证通讯被窃听的时候,通讯双方能及时发现,之后要么切换信道,要么终止通信。
原文始发于微信公众号(涂鸦安全应急响应中心):量子通信:BB84密钥分发协议
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论