量子金鑰分發(英語:quantum key distribution,簡稱QKD)是利用量子力學特性實現密碼協定的安全通訊方法。它使通訊的雙方能夠產生並分享一個隨機的、安全的金鑰,來加密和解密訊息。它常常被誤稱為量子密碼學,因為它是量子密碼學任務中最著名的例子。
量子金鑰分發的一個最重要的,也是最獨特的性質是:如果有第三方試圖竊聽密碼,則通訊的雙方便會察覺。這種性質基於量子力學的基本原理:任何對量子系統的測量都會對系統產生干擾。第三方試圖竊聽密碼,必須用某種方式測量它,而這些測量就會帶來可察覺的異常。通過量子疊加態或量子纏結態來傳輸資訊,通訊系統便可以檢測是否存在竊聽。當竊聽低於一定標準,一個有安全保障的金鑰就可以產生了。
量子金鑰分發的安全性基於量子力學的基本原理,而傳統密碼學是基於某些數學演算法的計算複雜度。傳統密碼學無法察覺竊聽,也就無法保證金鑰的安全性。QKD的安全性是是可以依據資訊理論證明的,而且它還具有前向安全性。
量子金鑰分發只用於產生和分發金鑰,並沒有傳輸任何實質的訊息。金鑰可用於某些加密演算法來加密訊息,加密過的訊息可以在標準頻道中傳輸。跟量子金鑰分發最常見的相關演算法就是一次性密碼本,如果使用保密而隨機的金鑰,這種演算法是具可證明的安全性[1]。在實際的運用上,量子金鑰分發常常被拿來與對稱金鑰加密的加密方式,如AES這類演算法一同使用。
量子金鑰交換
量子通訊中,訊息編碼為量子態,或稱量子位元,與此相對,經典通訊中,訊息編碼為位元。通常,光子被用來製備量子態。量子密碼學利用量子態的特性來確保安全性。量子金鑰分發有不同的實現方法,但根據所利用量子態特性的不同,可以分為兩大類。
- 基於製備和測量的協定
- 與經典物理不同,測量是量子力學不可分割的組成部分。一般來講,測量一個未知的量子態會以某種形式改變該量子的狀態。這被稱為量子的不確定性,它的一些基本結論有維爾納·海森堡的不確定性原理,資訊干擾理論和不可複製原理。這些性質可以被利用來檢測通訊過程中的任何竊聽(竊聽必然需要測量),更重要的是,能夠計算被截獲訊息的數量。
- 基於纏結態的協定
- 兩個或更多的量子態能夠建立某種聯絡,使得他們無論距離多遠依然要被看做是一個整體的量子態,而不是獨立的個體。這被稱為量子纏結。他們之間的聯絡是,比如,對其中一個量子的測量會影響其他量子。如果纏結的量子對被通訊的雙方分別持有,任何對訊息的攔截會改變整個系統,使第三方的存在(以及他截獲訊息的數量)被檢測到。
這兩大類別方法中的每一類都可以進一步分為三類協定:離散變數、連續變數和分散式相位參考編碼。離散變數協定是第一個被發明的,也是最廣泛實現的。其他兩類主要關注克服實驗的實用局限性。下面描述的兩種協定都使用離散變數編碼。
協定
查爾斯·貝內特(Charles Bennett)與吉勒·布拉薩(Gilles Brassard)於1984年發表的論文中提到的量子密碼分發協定,後來被稱為BB84協定[2]。其實任意兩組共軛狀態都可以用於該協定,而且大多數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所知道訊息,同時金鑰的長度也被縮短了。
貝內特在1992發表的論文中描述的量子密碼分發協定,被稱作B92協定。B92協定中只使用兩種量子態。Alice傳送狀態|↑>和|↗>。Bob接受狀態後選擇基"+"或"×"測量。Bob測量得到的結果如果是|→>,可以肯定Alice傳送的狀態是|↗>,得到結果|↖>可以肯定接受到的狀態是|↑>。但如果Bob的測量結果是|↑>或|↗>,則不能肯定接收到的狀態是什麼。
之後Bob告訴Alice他對哪些狀態得到了確定的結果,哪些狀態他不能肯定,而不告訴Alice他選擇了什麼樣的基測量。而後用那些得到了確定結果的基來編碼,把"+"編為"0",把"×"編為"1",並把這串位元作為金鑰。
這個協定有個弱點,只有無失真耗的頻道才能保證這個協定的安全性。否則,Eve可以把那些無法得到確定結果的狀態截獲然後重新製備可以得到確定結果的狀態再發出去。
Artur Ekert的方案使用纏結的光子對。這些光子對可以由Alice、Bob或與他們兩者都不在一起的某些源(包括竊聽者Eve)產生。這些光子會被分發,Alice和Bob最終都會得到每對光子中的其中一個。
該方案依賴於纏結的兩個性質。首先,纏結態是完全相關的,如果Alice和Bob都測量他們的粒子是否具有垂直或水平極化,他們總是以100%的機率得到相同的答案。如果他們都測量其它任何互補(正交)極化對,結果同樣如此。這就需要相距很遠的二者具有精確的方向性同步。但是,特定的結果是完全隨機的;Alice無法預測她(以及Bob)是否會獲得垂直極化或水平極化。其次,Eve任何試圖竊聽的行為都會打破這些相關性,於是Alice和Bob就可以檢測出來。
與BB84類似,該協定在檢測Eve的存在之前涉及私密測量協定。在測量階段,Alice會用 中的某些基來測量她收到的每個光子,而Bob會從 中選擇,其中 是 基旋轉 得到的。他們在完成測量之前都不會公開他們選取的基的序列。於是得到了兩組光子:第一組由Alice和Bob使用相同基礎測量的光子組成,而第二組包含所有其他光子。要想檢測竊聽,他們可以使用Alice的基和Bob的之間的相關係數來計算檢驗統計量 ,類似於Bell測試實驗中所用的相關係數。最大纏結光子會導致 。如果情況並非如此,那麼Alice和Bob可以得出結論,Eve已經在系統中引入了局域實在性(local realism),違反了貝爾定理。如果協定成功,則第一組可用於生成金鑰,因為這些光子在Alice和Bob之間完全反對齊(anti-aligned)。
資訊協調與私隱增強
上述量子金鑰分發協定為Alice和Bob提供了幾乎相同的共用金鑰,並且還對金鑰之間的差異進行了估計。這些差異可能是由竊聽引起的,也可能是由傳輸線和探測器的缺陷引起的。由於無法區分這兩種類型的錯誤,因此保證安全性需要假設所有錯誤都是由於竊聽造成的。如果金鑰之間的錯誤率低於某一閾值(截至2007年4月為20%[3]),則可以執行兩個步驟:首先移除錯誤的位元,然後將Eve對金鑰的了解減少到任意小的值。這兩個步驟分別稱為資訊協調和私隱增強,這兩個步驟最早在1992年被提出來。[4]
- 資訊協調(Information Reconciliation)是金鑰糾錯(Error Correction)的一種方式,可保證Alice和Bob共同擁有的金鑰的一致性。這個過程在公共頻道中完成,由於可能被Eve竊聽,所以要保證關於金鑰本身的資訊公佈的越少越好。用於資訊協調的通用協定是1994年提出的級聯協定(cascade protocol)。[5] 這可以在幾輪中執行,每一輪中的兩個金鑰被分成塊,並且比較這些塊的奇偶校驗位。如果發現奇偶校驗有差異,則執行二分搜尋來尋找和糾正錯誤。如果在前一輪中奇偶校驗正確的塊中發現錯誤,則該塊中必須包含另一個錯誤;需要找到此錯誤並像以前一樣進行糾正。這個過程以遞歸方式重複,這是「級聯」這個名稱的來源。在比較了所有的塊之後,Alice和Bob都以相同的隨機方式對其鍵進行重新排序,並開始新一輪。在多輪結束後,很大機率Alice和Bob擁有相同金鑰;但是,Eve從交換的奇偶校驗資訊中也獲得了關於金鑰的附加資訊。不過,從編碼理論的角度來看,資訊協調本質上就是帶有輔助資訊的源編碼,因此適用於該問題的任何編碼方案都可以用於資訊協調。近來,Turbo碼[6]、LDPC碼[7]和極性碼[8]已用於此目的,提高了級聯協定的效率。
- 私隱增強(Privacy Amplification)是減少或去除Eve竊聽到的部分金鑰資訊的一種方法。這部分金鑰資訊可能是在傳輸金鑰時被竊聽的,也可能是後來通過公共頻道做資訊協調時被取得的。私隱增強利用Alice和Bob手中的金鑰,生成一個新的、更短的金鑰,這樣Eve關於這個新金鑰便知之甚少了。這可以使用通用雜湊函數來完成,該函數從公開的一組這樣的函數中隨機選擇,其將長度等於金鑰的二進制串作為其輸入並輸出所選擇的較短長度的二進制串。根據Eve可以獲得的關於舊金鑰的資訊量來計算縮短該新金鑰的量,以便將Eve知道新金鑰的機率降低到非常低的值。
參見
參考文獻
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.