量子秘钥为什么无法被第三方截获

原文发在奇迹号上。


听说中国发射了一颗量子科学实验卫星(Quantum Experiments at Space Scale)。

量子秘钥为什么无法被第三方截获_第1张图片
Quantum Experiments at Space Scale

它的任务之一就是实验量子秘钥(Quantum key)。

要理解什么是量子秘钥,我们首先自己问自己:

什么是通信?

假设两个人,A和B,A对B说了一句话:

Help!

量子秘钥为什么无法被第三方截获_第2张图片
A对B说了一句话

这个就是通信。

如果我们考察这个过程的话,可分为三个单元:

  • A发出信息,通过声带;
  • B接受信息,通过耳膜;
  • 信息通过声音传播,需要空气作为介质。

A传递给B的信息是有意义的,在这里是人的自然语言,B听到这个后,懂得并导致其后续行动。

如果我们只考察这里的信息,

Help!

我们应如何表示它?

纯粹物理的角度,我们可以把它表示为(不同频率)声音强度随时间的变化,但这个太琐碎了,很多细节我们并不需要。

适度抽象后,我们说这就是26个字母在时间轴上“由左到右”,“有方向地”展开。

简单说就是这样,我们可以管这个叫编码,常见的编码有:

  • 二进制,0101这种;
  • 16进制;
  • 当然还有英文字母;
  • 中文的汉语拼音,借用英文字母(精确讲应是拉丁字母)。

现在通信可被叙述为A向B发送一段有序的编码,比如:

Hi, ...

这段编码A、B看了都懂。于是A就能让B帮他做事情,比如A对B说:

把红色的旗子举起来。

但有时我们不希望别人知道这段信息,比如打仗的时候,敌人C可能会截获这段信息,从而知道A的意图,从而不利于A和B。

这个时候就需要加密了。

能否设想一个最简单的加密方案呢?

据说古代斯巴达人是这样来传递信息的,将军A和前线指挥官B各持一根木棍,这两根木棍是完全相同的,主要是“粗细”。

量子秘钥为什么无法被第三方截获_第3张图片
古代斯巴达人的加密方案

将军A拿出一定粗细的纸条(或者皮革条),以特定角度把纸条缠绕在木棍上,然后沿平行于木棍的方向写下命令:

Blah, blah...

然后再把纸条取下来展开,继续在纸条上写满字母,也许是这样的:

cxBaxhnlxhon...

现在这个纸条上的信息就是被“加密”过的了,将军A可以把纸条交给传令官C,由他送给前线指挥官B。

假如敌人截获了这个纸条,它是看不懂上面的信息的,除非……,知道加密的方案,及棍棒的粗细和缠绕纸条的倾斜角度。

拷问传令官C也没用,因为他没见过加密用的棍棒。

以上就是一个加密的方案,在这里我们需要的其实是两个数字,一个是棍棒的粗细,一个是纸条缠绕的角度,当然想想的话,我们会补充上第三个数字,即我们由第几位开始读。

这三个数字就是秘钥。

现在的问题是如何传送秘钥。

我们打个比喻:

我们想传送的信息就是一个密码箱,秘钥就是密码箱的钥匙,即密码。

一般来说密码箱的密码就是三个数字,比如:

798

量子秘钥为什么无法被第三方截获_第4张图片
密码箱比喻:密码不能让人知道

这个798有意义吗?

完全没有意义,因为它并不代表地名,如果你认为这是个地名的话,那恰恰是不能make sense的。

但完全没有意义,完全随机的三个数加上密码箱就能对应有意义的信息。

我们用无意义的密码打开了看不懂的密码箱,得到的是有意义的,能看懂的文件。

密码箱可以随便给所有人看,被敌人C截获也不怕,因为它没有密码。

所以现在的问题就变成,如何生成这个密码,使得只有A、B知道,而C不可能知道。

这就需要用到量子力学了

措辞的角度,

我小心翼翼地不说我们传送密码,

我喜欢说我们(A、B)生成了密码(所以这与狭义相对论并不矛盾)。

这个生成,可以比喻为“掷骰子”,骰子一掷,A和B就知道密码了,而且是相同的,然后A用这个密码去加密信息,而B用密码解密收到的信息。

被传递的信息是可以让全世界人知道的。

我们利用量子纠缠来掷骰子

我们想象两个硬币,一个向上、一个向下,一个在A手边,一个在B手边。

设想这两个硬币通过一根刚性的杆子焊死,

设想它们围绕刚性的杆子飞速地旋转起来。

量子秘钥为什么无法被第三方截获_第5张图片
量子纠缠:“刚性杆”比喻

我们管这个就叫量子纠缠。

杆子转的飞快,A没法说他手边这个硬币是向上还是向下的,除非他

“啪”

地拍下去,然后看一眼,

A有一半几率得到硬币向上,另一半几率向下。

同时假如B立刻在远处观察他手边的硬币的话,所谓观察就是他

“啪”

地一下也拍下去,他看到另一硬币的取向一定和A相反,A、B并不需要通信,通过这个“量子机制”就能知道对方手上硬币的取向。

但可惜硬币可以有很多取向,我们的刚性机制只能保证两个硬币取向恰好相反。

简化叙述,我们会说取向可以是“上、下”,“左、右”或“前、后”的。

我们可以沿“上、下”方向拍下去,也可以“左、右”或“前、后”。

我们约定A每次拍下去的方向是任意的,B在远方也任意地拍他手边的硬币。

假设第一次,A是上下拍,得到硬币取向是一半上,一半下。不妨假设是“上”。

但B和A是独立随意地拍硬币,假设B是按“左、右”的取向“拍”。此时会如何呢?

A端向上,因为量子机制,B端硬币取向应该是向下的,奈何B是“左、右”拍,我们只能说有一半可能是左,一半可能是右。

不妨假设B端拍下去的结果是“左”。

类似地我们可以得到一系列结果,并记录如下:

A 取向 B 取向 匹配
“上下” “左右” No
“上下” “上下” Yes
“左右” “上下” No
“前后” “前后” Yes
“左右” “左右” Yes
“上下” “前后” No

...

这个记录可以很长,在做完如上操作后,A、B在互相告诉对方拍下硬币的取向。

就是A说

“上下”、“上下”、“左右”……

B说

“左右”、“上下”、“上下”……

在说这些信息的时候,拍硬币的动作已经完成了,所以不怕C偷听到。

A、B知道这个信息很有用,他们可以把不匹配的测量都划掉(对应这里,就是我标“No”的那些),剩下的就是“秘钥”了,A、B并不需要直接告诉对方秘钥是什么,就已经知道了。

假如C硬要偷听会如何呢?

假设C成功地偷听,所谓成功偷听就是C在B之前就偷偷地捉到了硬币,并抢先拍了下去。

但C并不知道A、B是延什么方向拍硬币的,同时A、B都是随机地按不同方向拍硬币。

C只好也随机地拍下去。

可能拍下去的取向和B的选择相同,也可能不相同。几率都不是0

考虑ABC可以有不同拍硬币的取向,我们可以选取以下两种情况进行讨论:

第一种,ABC拍硬币的方向都相同,A上导致C下,C得到下后,再把它传给B,B将也得到下。

A C B

此时B无法判断是否被偷听。

第二种,C拍下去的方向和AB拍下去的方向不同,同时AB拍下去的方向相同:

A C B

A得到上,假如不被C偷听的话,B一定是下。但C偷听了,并恰好选取的是左右方向,假设得到右,B是对“右向”硬币沿上下方向拍下去,有一半几率上,一半几率下,不妨假设正好是上(无人偷听应该是下)。

如果A、B互相交流一下他们的硬币取向簿记结果的话,他们就会发现:

被人偷听了!

这个过程,可以称之为校验。对校验的部分,不仅拍硬币的取向A、B需要互相交流,拍硬币的结果(即取向簿记)也需要互相告知对方。

可以想象这是一串数字,只要这串数字够长,将能发现是否被偷听。

假如校验后,发现A上一定对应B下,A左一定对应B右,A前一定对应B后,则说明没有人偷听。

我们可以这么构造生成秘钥的过程,在最终簿记结果中随机选取“校验”和“真实”的部分。

量子秘钥为什么无法被第三方截获_第6张图片

校验部分,发送“拍下硬币方向+硬币取向”结果给对方,真实部分只发送拍下去的方向,不发送硬币取向。假使校验部分百分百相合的话,说明无人偷听,秘钥有效。但如果并非百分百相合,而是特定百分比的话,则说明有人偷听,秘钥无效,需要重新生成。

参考链接

  • Sheldon: 量子通信卫星到底是什么鬼?

  • PhysicsWorld: China launches world's first quantum science satellite

量子秘钥为什么无法被第三方截获_第7张图片
什么时候咱们也众筹颗纳卫星吧~

(这篇文章挺有意思,它告诉我们老外在用纳卫星做和中国科学家类似的事儿,当然花的钱会少很多。)

你可能感兴趣的:(量子秘钥为什么无法被第三方截获)