量子密鑰分發（英語：quantum key distribution，簡稱 QKD）是利用量子力學特性實現密碼協定的安全通訊方法。它使通訊的雙方能夠產生並分享一個隨機的、安全的金鑰，來加密和解密訊息。它常常被誤稱為量子密碼學，因為它是量子密碼學任務中最著名的例子。

量子密鑰分發的一個最重要的，也是最獨特的性質是：如果有第三方試圖竊聽密碼，則通訊的雙方便會察覺。這種性質基於量子力學的基本原理：任何對量子系統的測量都會對系統產生干擾。第三方試圖竊聽密碼，必須用某種方式測量它，而這些測量就會帶來可察覺的異常。通過量子疊加態或量子纏結態來傳輸資訊，通訊系統便可以檢測是否存在竊聽。當竊聽低於一定標準，一個有安全保障的金鑰就可以產生了。

量子密鑰分發的安全性基於量子力學的基本原理，而傳統密碼學是基於某些數學演算法的計算複雜度。傳統密碼學無法察覺竊聽，也就無法保證金鑰的安全性。QKD 的安全性是是可以依據資訊理論證明的，而且它還具有前向安全性。

量子密鑰分發只用於產生和分發金鑰，並沒有傳輸任何實質的訊息。金鑰可用於某些加密演算法來加密訊息，加密過的訊息可以在標準頻道中傳輸。跟量子密鑰分發最常見的相關演算法就是一次性密碼本，如果使用保密而隨機的密鑰，這種演算法是具可證明的安全性。在實際的運用上，量子密鑰分發常常被拿來與對稱密鑰加密的加密方式，如 AES 這類演算法一同使用。



量子金鑰交換

量子通訊中，訊息編碼為量子態，或稱量子位元，與此相對，古典通訊中，訊息編碼為位元。通常，光子被用來製備量子態。量子密碼學利用量子態的特性來確保安全性。量子金鑰分發有不同的實現方法，但根據所利用量子態特性的不同，可以分為兩大類。

基於製備和測量的協定
: 與古典物理不同，測量是量子力學不可分割的組成部分。一般來講，測量一個未知的量子態會以某種形式改變該量子的狀態。這被稱為量子的不確定性，它的一些基本結論有維爾納・海森堡的不確定性原理，資訊干擾理論和不可複製原理。這些性質可以被利用來檢測通訊過程中的任何竊聽（竊聽必然需要測量），更重要的是，能夠計算被截獲訊息的數量。

基於纏結態的協定
: 兩個或更多的量子態能夠建立某種聯絡，使得他們無論距離多遠依然要被看做是一個整體的量子態，而不是獨立的個體。這被稱為量子纏結。他們之間的聯絡是，比如，對其中一個量子的測量會影響其他量子。如果纏結的量子對被通訊的雙方分別持有，任何對訊息的攔截會改變整個系統，使第三方的存在（以及他截獲訊息的數量）被檢測到。

這兩大類別方法中的每一類都可以進一步分為三類協定：離散變數、連續變數和分散式相位參考編碼。離散變數協定是第一個被發明的，也是最廣泛實現的。其他兩類主要關注克服實驗的實用局限性。下面描述的兩種協定都使用離散變數編碼。



協定

BB84 協定

查爾斯・貝內特（Charles Bennett）與吉勒・布拉薩（Gilles Brassard）於 1984 年發表的論文中提到的量子密分碼發協定，後來被稱為 BB84 協定。其實任意兩組共軛狀態都可以用於該協定，而且大多數 BB84 的基於光纖的實現都使用相位編碼狀態。BB84 協定是最早描述如何利用光子的偏振態來傳輸訊息的。傳送者（通常稱為 Alice）和接收者（通常稱為 Bob）用量子頻道來傳輸量子態。如果用光子作為量子態載體，對應的量子頻道可以是光纖或者簡單的自由空間。另外他們還需要一條公共古典頻道，比如無線電或網際網路。公共頻道的安全性不需考慮，BB84 協定在設計時已考慮到了兩種頻道都被第三方（通常稱為 Eve）竊聽的可能。

這個協定的安全性源於用非正交態。量子不確定性告訴我們，通常不能在不干擾原始狀態的情況下測量這些狀態（參見不可複製原理）。BB84 協定利用兩對狀態，分別是光子偏振的兩個直線基 "+"：水平偏振（0°）記作 |→>，垂直偏振（90°）記作 |↑>；和光子偏振的兩個對角基 "×"：45° 偏振記作 |↗>，和 135° 偏振記作 |↘>。這兩對狀態互相不正交，無法被徹底的分辨。比如選擇基 "+" 來測量 |↑>，會以 100% 的機率得到 |↑>。但選擇基 "+" 來測量 |↗>，結果是隨機的，會以 50% 的機率得到 |→>，或以 50% 的機率得到 |↑>，而原始狀態的訊息遺失了。也就是說，當測量後得到狀態 |↑>，我們不能確定原本的狀態是 |↑> 還是 |↗>，這兩個不正交的狀態無法被徹底分辨。

BB84 協定的第一步是量子傳輸。Alice 隨機產生一個位元（0 或 1），再隨機選擇一個基（"+" 或 "×"），來製備量子態。如左側的表格所示，選擇基 "+" 時把位元 0 製備成 |↑>，把位元 1 製備成 |→>；選擇基 "×" 時，把位元 0 製備成 |↗>，把位元 1 製備成 |↘>。光子的偏振態被製備好之後，Alice 把這個光子通過量子頻道傳送給 Bob。之後重複這個過程多次。

Bob 並不知道 Alice 製備量子態時選擇了哪種基，他可以隨機的選擇基（"+" 或 "×"）來測量接收到的量子態。Bob 測量他接受到的每個光子，記錄所選的基和測量結果。Bob 測量過所有光子後，他與 Alice 通過公共古典頻道聯絡。Alice 公布製備每個光子時所選擇的基。Alice 和 Bob 對比他們所選擇的基，捨棄那些雙方選擇了不同的基的位元（一半左右），剩下的位元還原為他們共有的金鑰。

Alice 和 Bob 可以拿出他們金鑰的一部分，然後相互對比來檢查是否有人竊聽。如果有第三方竊聽（Eve，來自英文 "eavesdropper"），他為了獲得光子偏振訊息而作的測量，會導致對比金鑰時發現錯誤。如果 Eve 選擇了與 Alice 相同的基去測量，則不會影響 Bob 的測量結果，Alice 和 Bob 對比金鑰的一部分時便不會發現有 Eve 的存在。但 Eve 仍有 50% 的機率會選擇與 Alice 不同的基去測量光子，這會使光子偏振態改變，此時 Bob 再測量這個光子又有 50% 的機率得到與 Alice 不同的結果，從而發現有竊聽者 Eve 的存在，Eve 引入的錯誤的機率是 25%。當所對比的金鑰部分，超過 p 個位元出錯，則這個密碼被捨棄並重新傳遞一次，重傳可選擇別的量子頻道。p 的取值依據是，如果 Eve 取得的位元數少於 p，則可以用隱私放大（privacy amplification）的方法減少 Eve 所知道訊息，同時金鑰的長度也被縮短了。

B92 協定

貝內特在 1992 發表的論文中描述的量子密分碼發協定，被稱作 B92 協定。B92 協定中只使用兩種量子態。Alice 傳送狀態 |↑> 和 |↗>。Bob 接受狀態後選擇基 "+" 或 "×" 測量。Bob 測量得到的結果如果是 |→>，可以肯定 Alice 傳送的狀態是 |↗>，得到結果 |↖> 可以肯定接受到的狀態是 |↑>。但如果 Bob 的測量結果是 |↑> 或 |↗>，則不能肯定接收到的狀態是什麼。

之後 Bob 告訴 Alice 他對哪些狀態得到了確定的結果，哪些狀態他不能肯定，而不告訴 Alice 他選擇了什麼樣的基測量。而後用那些得到了確定結果的基來編碼，把 "+" 編為 "0"，把 "×" 編為 "1"，並把這串位元作為金鑰。

這個協定有個弱點，只有無失真耗的頻道才能保證這個協定的安全性。否則，Eve 可以把那些無法得到確定結果的狀態截獲然後重新製備可以得到確定結果的狀態再發出去。

E91 協定

Artur Ekert 的方案使用纏結的光子對。這些光子對可以由 Alice、Bob 或與他們兩者都不在一起的某些源（包括竊聽者 Eve）產生。這些光子會被分發，Alice 和 Bob 最終都會得到每對光子中的其中一個。

該方案依賴於纏結的兩個性質。首先，纏結態是完全相關的，如果 Alice 和 Bob 都測量他們的粒子是否具有垂直或水平極化，他們總是以 100% 的機率得到相同的答案。如果他們都測量其它任何互補（正交）極化對，結果同樣如此。這就需要相距很遠的二者具有精確的方向性同步。但是，特定的結果是完全隨機的；Alice 無法預測她（以及 Bob）是否會獲得垂直極化或水平極化。其次，Eve 任何試圖竊聽的行為都會打破這些相關性，於是 Alice 和 Bob 就可以檢測出來。

與 BB84 類似，該協定在檢測 Eve 的存在之前涉及私密測量協定。在測量階段，Alice 會用 $Z_{0},Z_{\frac {\pi }{8}},Z_{\frac {\pi }{4}}$ 中的某些基來測量她收到的每個光子，而 Bob 會從 $Z_{0},Z_{\frac {\pi }{8}},Z_{-{\frac {\pi }{8}}}$ 中選擇，其中 $Z_{\theta }$ 是 $\{|\uparrow \rangle ,\;|\rightarrow \rangle \}$ 基旋轉 $\theta $ 得到的。他們在完成測量之前都不會公開他們選取的基的序列。於是得到了兩組光子：第一組由 Alice 和 Bob 使用相同基礎測量的光子組成，而第二組包含所有其他光子。要想檢測竊聽，他們可以使用 Alice 的基和 Bob 的之間的相關係數來計算檢驗統計量 $S$ ，類似於 Bell 測試實驗中所用的相關係數。最大纏結光子會導致 $|S|=2{\sqrt {2}}$ 。如果情況並非如此，那麼 Alice 和 Bob 可以得出結論，Eve 已經在系統中引入了局域實在性（local realism），違反了貝爾定理。如果協定成功，則第一組可用於生成金鑰，因為這些光子在 Alice 和 Bob 之間完全反對齊（anti-aligned）。



資訊協調與隱私增強

上述量子金鑰分發協定為 Alice 和 Bob 提供了幾乎相同的共享金鑰，並且還對金鑰之間的差異進行了估計。這些差異可能是由竊聽引起的，也可能是由傳輸線和探測器的缺陷引起的。由於無法區分這兩種類型的錯誤，因此保證安全性需要假設所有錯誤都是由於竊聽造成的。如果金鑰之間的錯誤率低於某一閾值（截至 2007 年 4 月為 20％），則可以執行兩個步驟：首先移除錯誤的位元，然後將 Eve 對金鑰的了解減少到任意小的值。這兩個步驟分別稱為資訊協調和隱私增強，這兩個步驟最早在 1992 年被提出來。


* 資訊協調（Information Reconciliation）是金鑰糾錯（Error Correction）的一種方式，可保證 Alice 和 Bob 共同擁有的金鑰的一致性。這個過程在公共頻道中完成，由於可能被 Eve 竊聽，所以要保證關於金鑰本身的資訊公布的越少越好。用於資訊協調的通用協定是 1994 年提出的級聯協定（cascade protocol）。 這可以在幾輪中執行，每一輪中的兩個金鑰被分成塊，並且比較這些塊的奇偶校驗位。如果發現奇偶校驗有差異，則執行二分搜尋來尋找和糾正錯誤。如果在前一輪中奇偶校驗正確的塊中發現錯誤，則該塊中必須包含另一個錯誤；需要找到此錯誤並像以前一樣進行糾正。這個過程以遞迴方式重複，這是「級聯」這個名稱的來源。在比較了所有的塊之後，Alice 和 Bob 都以相同的隨機方式對其鍵進行重新排序，並開始新一輪。在多輪結束後，很大機率 Alice 和 Bob 擁有相同金鑰；但是，Eve 從交換的奇偶校驗資訊中也獲得了關於金鑰的附加資訊。不過，從編碼理論的角度來看，資訊協調本質上就是帶有輔助資訊的源編碼，因此適用於該問題的任何編碼方案都可以用於資訊協調。近來，Turbo 碼、LDPC 碼和極性碼已用於此目的，提高了級聯協定的效率。

* 隱私增強（Privacy Amplification）是減少或去除 Eve 竊聽到的部分金鑰資訊的一種方法。這部分金鑰資訊可能是在傳輸金鑰時被竊聽的，也可能是後來通過公共頻道做資訊協調時被取得的。隱私增強利用 Alice 和 Bob 手中的金鑰，生成一個新的、更短的金鑰，這樣 Eve 關於這個新金鑰便知之甚少了。這可以使用通用雜湊函式來完成，該函式從公開的一組這樣的函式中隨機選擇，其將長度等於金鑰的二進位串作為其輸入並輸出所選擇的較短長度的二進位串。根據 Eve 可以獲得的關於舊金鑰的資訊量來計算縮短該新金鑰的量，以便將 Eve 知道新金鑰的機率降低到非常低的值。



參見


* 量子電腦

* 量子密碼學

* 量子資訊科學

* 量子網路絡



參考文獻