原文發(fā)在奇跡號上。
聽說中國發(fā)射了一顆量子科學實驗衛(wèi)星(Quantum Experiments at Space Scale)。

它的任務之一就是實驗量子秘鑰(Quantum key)。
要理解什么是量子秘鑰,我們首先自己問自己:
什么是通信?
假設兩個人,A和B,A對B說了一句話:
Help!

這個就是通信。
如果我們考察這個過程的話,可分為三個單元:
- A發(fā)出信息,通過聲帶;
- B接受信息,通過耳膜;
- 信息通過聲音傳播,需要空氣作為介質(zhì)。
A傳遞給B的信息是有意義的,在這里是人的自然語言,B聽到這個后,懂得并導致其后續(xù)行動。
如果我們只考察這里的信息,
Help!
我們應如何表示它?
純粹物理的角度,我們可以把它表示為(不同頻率)聲音強度隨時間的變化,但這個太瑣碎了,很多細節(jié)我們并不需要。
適度抽象后,我們說這就是26個字母在時間軸上“由左到右”,“有方向地”展開。
簡單說就是這樣,我們可以管這個叫編碼,常見的編碼有:
- 二進制,0101這種;
- 16進制;
- 當然還有英文字母;
- 中文的漢語拼音,借用英文字母(精確講應是拉丁字母)。
現(xiàn)在通信可被敘述為A向B發(fā)送一段有序的編碼,比如:
Hi, ...
這段編碼A、B看了都懂。于是A就能讓B幫他做事情,比如A對B說:
把紅色的旗子舉起來。
但有時我們不希望別人知道這段信息,比如打仗的時候,敵人C可能會截獲這段信息,從而知道A的意圖,從而不利于A和B。
這個時候就需要加密了。
能否設想一個最簡單的加密方案呢?
據(jù)說古代斯巴達人是這樣來傳遞信息的,將軍A和前線指揮官B各持一根木棍,這兩根木棍是完全相同的,主要是“粗細”。

將軍A拿出一定粗細的紙條(或者皮革條),以特定角度把紙條纏繞在木棍上,然后沿平行于木棍的方向?qū)懴旅睿?/p>
Blah, blah...
然后再把紙條取下來展開,繼續(xù)在紙條上寫滿字母,也許是這樣的:
cxBaxhnlxhon...
現(xiàn)在這個紙條上的信息就是被“加密”過的了,將軍A可以把紙條交給傳令官C,由他送給前線指揮官B。
假如敵人截獲了這個紙條,它是看不懂上面的信息的,除非……,知道加密的方案,及棍棒的粗細和纏繞紙條的傾斜角度。
拷問傳令官C也沒用,因為他沒見過加密用的棍棒。
以上就是一個加密的方案,在這里我們需要的其實是兩個數(shù)字,一個是棍棒的粗細,一個是紙條纏繞的角度,當然想想的話,我們會補充上第三個數(shù)字,即我們由第幾位開始讀。
這三個數(shù)字就是秘鑰。
現(xiàn)在的問題是如何傳送秘鑰。
我們打個比喻:
我們想傳送的信息就是一個密碼箱,秘鑰就是密碼箱的鑰匙,即密碼。
一般來說密碼箱的密碼就是三個數(shù)字,比如:
798

這個798有意義嗎?
完全沒有意義,因為它并不代表地名,如果你認為這是個地名的話,那恰恰是不能make sense的。
但完全沒有意義,完全隨機的三個數(shù)加上密碼箱就能對應有意義的信息。
我們用無意義的密碼打開了看不懂的密碼箱,得到的是有意義的,能看懂的文件。
密碼箱可以隨便給所有人看,被敵人C截獲也不怕,因為它沒有密碼。
所以現(xiàn)在的問題就變成,如何生成這個密碼,使得只有A、B知道,而C不可能知道。
這就需要用到量子力學了
措辭的角度,
我小心翼翼地不說我們傳送密碼,
我喜歡說我們(A、B)生成了密碼(所以這與狹義相對論并不矛盾)。
這個生成,可以比喻為“擲骰子”,骰子一擲,A和B就知道密碼了,而且是相同的,然后A用這個密碼去加密信息,而B用密碼解密收到的信息。
被傳遞的信息是可以讓全世界人知道的。
我們利用量子糾纏來擲骰子
我們想象兩個硬幣,一個向上、一個向下,一個在A手邊,一個在B手邊。
設想這兩個硬幣通過一根剛性的桿子焊死,
設想它們圍繞剛性的桿子飛速地旋轉(zhuǎn)起來。

我們管這個就叫量子糾纏。
桿子轉(zhuǎn)的飛快,A沒法說他手邊這個硬幣是向上還是向下的,除非他
“啪”
地拍下去,然后看一眼,
A有一半幾率得到硬幣向上,另一半幾率向下。
同時假如B立刻在遠處觀察他手邊的硬幣的話,所謂觀察就是他
“啪”
地一下也拍下去,他看到另一硬幣的取向一定和A相反,A、B并不需要通信,通過這個“量子機制”就能知道對方手上硬幣的取向。
但可惜硬幣可以有很多取向,我們的剛性機制只能保證兩個硬幣取向恰好相反。
簡化敘述,我們會說取向可以是“上、下”,“左、右”或“前、后”的。
我們可以沿“上、下”方向拍下去,也可以“左、右”或“前、后”。
我們約定A每次拍下去的方向是任意的,B在遠方也任意地拍他手邊的硬幣。
假設第一次,A是上下拍,得到硬幣取向是一半上,一半下。不妨假設是“上”。
但B和A是獨立隨意地拍硬幣,假設B是按“左、右”的取向“拍”。此時會如何呢?
A端向上,因為量子機制,B端硬幣取向應該是向下的,奈何B是“左、右”拍,我們只能說有一半可能是左,一半可能是右。
不妨假設B端拍下去的結(jié)果是“左”。
類似地我們可以得到一系列結(jié)果,并記錄如下:
| A | 取向 | B | 取向 | 匹配 |
|---|---|---|---|---|
| “上下” | 上 | “左右” | 左 | No |
| “上下” | 上 | “上下” | 下 | Yes |
| “左右” | 左 | “上下” | 下 | No |
| “前后” | 前 | “前后” | 后 | Yes |
| “左右” | 右 | “左右” | 左 | Yes |
| “上下” | 下 | “前后” | 前 | No |
...
這個記錄可以很長,在做完如上操作后,A、B在互相告訴對方拍下硬幣的取向。
就是A說
“上下”、“上下”、“左右”……
B說
“左右”、“上下”、“上下”……
在說這些信息的時候,拍硬幣的動作已經(jīng)完成了,所以不怕C偷聽到。
A、B知道這個信息很有用,他們可以把不匹配的測量都劃掉(對應這里,就是我標“No”的那些),剩下的就是“秘鑰”了,A、B并不需要直接告訴對方秘鑰是什么,就已經(jīng)知道了。
假如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互相交流一下他們的硬幣取向簿記結(jié)果的話,他們就會發(fā)現(xiàn):
被人偷聽了!
這個過程,可以稱之為校驗。對校驗的部分,不僅拍硬幣的取向A、B需要互相交流,拍硬幣的結(jié)果(即取向簿記)也需要互相告知對方。
可以想象這是一串數(shù)字,只要這串數(shù)字夠長,將能發(fā)現(xiàn)是否被偷聽。
假如校驗后,發(fā)現(xiàn)A上一定對應B下,A左一定對應B右,A前一定對應B后,則說明沒有人偷聽。
我們可以這么構(gòu)造生成秘鑰的過程,在最終簿記結(jié)果中隨機選取“校驗”和“真實”的部分。

校驗部分,發(fā)送“拍下硬幣方向+硬幣取向”結(jié)果給對方,真實部分只發(fā)送拍下去的方向,不發(fā)送硬幣取向。假使校驗部分百分百相合的話,說明無人偷聽,秘鑰有效。但如果并非百分百相合,而是特定百分比的話,則說明有人偷聽,秘鑰無效,需要重新生成。
參考鏈接
Sheldon: 量子通信衛(wèi)星到底是什么鬼?
PhysicsWorld: China launches world's first quantum science satellite

(這篇文章挺有意思,它告訴我們老外在用納衛(wèi)星做和中國科學家類似的事兒,當然花的錢會少很多。)