科技大補帖
eLearning

淺談量子密碼
2023.04.07

黃宗立/國立成功大學資訊工程學系特聘教授,量子資訊與網路安全實驗室,研究領域為資訊、網路安全與量子密碼學。

 

量子力學

當物體小到不能再被分割,質量微乎其微的時候,我們稱它叫作「量子」。譬如說,光子就是量子,夸克也是量子。當物體縮小到微觀尺度時,其物理性質會與平常所看見的物體,例如石頭、高爾夫球等不同。

舉例來說,打擊高爾夫球時,球會隨著打擊者所施力的方向與大小,決定它的飛行軌跡與落點,這是可以被預測的。當換成一個機器人在沒有重力的真空中,以相同的動作和力道將多顆高爾夫球擊向一塊布幕時,在不受其他外力的干擾下,所有的高爾夫球都會擊中布幕上的同一個位置。如果當機器人擊出的不是高爾夫球,而是一個個的量子,那麼它們在布幕上的落點會是四處分散,且難以斷定。所以,當一個物體小到無法再被分割的時候,它的行為將是超乎一般人類的直覺。這方面的研究就是物理上所謂的量子力學。那麼,量子力學究竟有什麼特別之處呢?

 

量測不確定性

首先要介紹的,就是所謂的量測不確定性。當我們不知道一個量子是如何產生的狀況下,它的狀態就像是一個漂浮在空中的銅板,這個銅板同時間具有「正面」及「反面」的 2 種狀態。當你觀(量)測它的時候,也許觀察到的是正面。此時,它的狀態就會塌縮成正面,讓人以為這個量子原來的狀態是正面。但實際上,它最初或許真的是正面的狀態,但也有可能處在既是正面也是反面的 2 種狀態。

 

光子偏振

上述性質可以用光子的偏振(圖一)來解釋,比較容易理解。

 

▲圖一:光子偏振示意圖,由上到下分別代表 90°、0°、45° 和 -45° 偏振。

 

首先要知道,光子是一種電磁波,而光子的偏振方向即為光子在移動時所處位置電場的震動方向,為了簡單起見,我們假設在二維的平面上對偏振進行觀察,於是其偏振的方向會介於 90°~-90° 之間。接著,我們決定 2 個不同的量測基底,且每個基底都包含了 2 個偏振方向。第一個是 Z 基底:它包含了 0° 偏振(水平)和 90° 偏振(垂直);另一個是 X 基底:它包含了斜對角方向的偏振(45° 和 -45°)。除了利用這 2 個基底來量測的光子外,也會產生這 2 個基底的光子。所以,當產生 Z 基底的光子時,它們的偏振方向只會是 0° 或是 90°;而產生 X 基底的光子時,它們的偏振方向會是 45° 或者是 -45°。

我們可以利用偏振片來量測光子的偏振方向將偏振片想像成由許多「平行且極其微小的細縫」排列而成。它可以讓偏振方向平行於細縫的光子通過,但會過濾掉與細縫垂直的所有光子。一個很有趣的現象就是:如果我們用一個垂直方向的偏振片來觀測 X 基底的光子,那麼這時候會出現什麼結果?對一個斜 45° 偏振的光子而言,當使用垂直方向的偏振片觀測時,我們會有 1∕2 的機率觀測到這個光子,同時也有 1∕2 觀測不到。所以,當你觀測到光子的時候,你會以為它是一個垂直偏振的光子,實則原為一斜 45° 偏振的光子,而被觀測到的光子其原先的狀態就被破壞了,意即它不再是一個斜 45° 偏振的光子,而已變成一個垂直偏振的光子了。

由上述的例子可以知道,量子具有疊加態的特性。也因為這個特性,如果我們不知道光子偏振的基底,便無法正確地量測它,當然無法得到光子正確的初始狀態。這個性質特別重要,因為它可以被用來設計安全的量子通訊,也就是所謂的量子密碼。

量子除了具有上述的量測不確定性之外,它還有什麼其他的物理特性呢?我們先回到剛才那個在真空狀態打擊量子的機器人實驗。其實, 機器人會看到(假設它有很特別的眼睛)他所擊出的量子並非直線前進,而是以波動的方式擴散出去,被擊出量子的位置則可以用「薛丁格方程式(Schrödinger equation)」預測即量子力學上很有名的「波粒二象性」。當物體的質量小到微乎其微時,就會同時出現粒子和波的特性。也正因為有這種波動的現象,科學家們研究發現,當樹葉進行光合作用的時候,光子會以波動的方式到達葉綠素的能量反應中心,藉此找到一個最有效的路徑來參與光合作用,有效地提升植物光合作用的效率,這是人造太陽能所無法達到的。

 

量子密碼

在了解量子力學的一些基本特性之後,接著要探討如何利用這些量子特性來設計量子密碼,以解決通信安全的問題。首先,假設有 2 位使用者,甲與乙,他們想利用量子通訊來建立一把秘密金鑰,並且使用這把秘密金鑰來保護他們想要傳送的重要訊息;2 人分別擁有產生和量測光子的儀器,並且彼此間已經建立了一個完美的量子通道,和一個理想的的傳統訊息認證通道。所謂完美的量子通道就是在通道中不會受到任何雜訊的干擾,所以光子在傳送的過程中不會失真;而理想的傳統認證通道,就是在這一條通道上傳送訊息時可以讓甲乙雙方確認彼此訊息的內容與來源的正確性。此外,我們也假設偏振角 90° 和 45° 的光子代表傳統位元的「0」;而其他 2 種偏振角度的光子代表的值為「1」(圖二)。

 

▲圖二:利用偏振片量測光子的示意圖。

 

利用量子密碼傳遞訊息

首先,甲方隨機的利用 Z 基底或 X 基底產生 4n 顆值為「0」或「1」的光子,並且一顆一顆地經由量子通道傳送給乙方。當乙方收到這些光子的時候,也隨機地利用 Z 基底或 X 基底來量測。在光子傳送並且量測完畢之後,他們便開始利用這條理想的「訊息認證通道」來討論有沒有攻擊者的存在。因為甲方是光子的產生者,所以他知道每顆光子的基底和量測值是多少,但是乙方不知道這些資訊,所以他只能夠隨機地對每一顆光子做量測。於是根據機率,當傳送的光子個數夠大的時候,乙方平均會有一半的機率使用了正確的基底來量測光子,而且量測到的值也會和甲方所產生的值相同。他們就是要利用訊息認證通道來討論這一件事。討論的方式可以如下:乙方先告知甲方,他對每一顆光子量測所使用的基底,接著,甲方告知乙方是否用了正確的基底作量測。如此,在經過討論之後,他們捨棄了量測基底不同的值,而留下相同者。此時,他們的手上大約會得到 2n 個內容「可能相同」的位元。

為什麼說「可能相同」呢?因為光子雖然在完美的量子通道中傳送,可是這條通道並沒有任何安全的保護,所以任何攻擊者都可以嘗試去攔截光子,並且對這些光子做對他們最有利的分析。所以,乙方所接收到的光子,很可能並不是甲方當初所傳送的光子,而是被攻擊者干擾過或是捏造出來的假光子。這時候,使用相同基底所做的量測可能不會產生相同的結果。因此,甲乙雙方仍然需要利用一部分的量測結果(通常是手中剩餘個數的一半,n)來檢測雙方所得到的結果是不是相同。如果相同,他們就可以分享到 n 個位元的秘密金鑰;否則,他們就知道通訊的過程中可能有攻擊者的存在,因而放棄這次的金鑰分配協定。

以上,我們說明了如何利用光子的量測不確定性,讓甲乙雙方分享到一把通訊用的金鑰。值得一提的是,用這種方法分配出來的金鑰可以達到完美的安全,並且可以檢測出是否有攻擊者的存在。這 2 點是量子密碼獨有的特性,也是密碼學的一個重要突破。

這是最簡單的量子密碼金鑰分配機制(BB84)(表一及表二),也是非常重要的量子密碼學的起始點。隨後量子密碼研究便像雨後春筍般地展開。

 

▲表一:BB84 量子金鑰分配協定偏振光子的編碼。

 

▲表二:BB84 量子金鑰分配協定範例。

 

⇠上一篇:量子電腦的機會與挑戰——量子模擬與量子破密

AI也會出差錯?使用人工智慧可能帶來的倫理與風險:下一篇⇢

 

本文轉載、修改自《科學月刊》2018 年 11 月