量子密鑰傳輸 (Quantum Key Distribution)

新一代的密碼系統 — — 密碼學遇上量子力學

鍾豪
7 min readFeb 26, 2017

二次大戰的時候,各國的高階將領都會有一本小小的冊子,上面寫滿密密麻麻的數字。當收到來自遠方同盟的電報時,就會依照不同的日期選擇不同的頁數來解密。也因為電報都經過加密,所以就算攔截了敵方的電報,沒有了小小的密碼本,一切的資訊都只是亂碼而已。對,這就是 Cumberbatch,噢是Turing在二戰最主要的工作。

過了七十年,你打開電腦上亞馬遜買東西,亞馬遜保證所有的客戶資料都經過「加密」保護。但明明我手邊就沒有密碼本,我要如何加密我的資料?亞馬遜又要如何解密呢?1976年,Diffie和Hellman兩位密碼學家提出了「公鑰密碼」的概念,成功地解決這個問題。如今,所有https連線,一開始都會先使用公鑰密碼系統,讓雙方擁有相同一組「密鑰」(其實就是一串數字)。接下來的通訊,雙方就可以使用這組密鑰來打亂和恢復資料了!

當今大多數的公鑰密碼都是使用「離散對數」或是「因數分解」這類的問題。然而,1994年,數學家Shor提出了Shor演算法,證明量子電腦可以有效破解這類的公鑰密碼系統。雖然人類離實用的量子電腦還有很遠的光景,但隨著實驗一點一點突破,密碼學家們也得著手準備量子電腦的來臨。

迎接量子電腦的攻擊,密碼學家有兩條路徑,一種是尋找量子電腦還沒辦法破解的數學問題;另一種是引入量子力學的特性,設法利用這些特性讓通訊雙方擁有相同的密鑰。其實早在1984年時,Bennett和Brassard兩位物理學家就想出了利用量子力學來安全傳輸密鑰的方式。當今我們稱作「量子密鑰傳輸 (Quantum Key Distribution)」,這篇文章就是要介紹這種方式,讓我們開始吧!

量子密鑰傳輸協定

今天有兩個人:住在台北的Alice和住在高雄的Bob,他們希望能擁有一組相同的密鑰 (也就是一組用來解密的數字)。他們分別有台可以上網的電腦,還有一條連接台北和高雄的光纖。然而,無論是上網或是光纖,所有資訊都可能被駭客竊聽。

Alice和Bob現在的目標,就是利用這條光纖傳遞資訊,而且確保駭客任何的介入,都一定會被Alice和Bob發現。

在電腦的世界中,數字都是以0或1來表示。對光而言,「水平」和「垂直」兩種偏振,就是記錄0或1很好的工具。

在光纖上,Alice可以選擇兩種頻道:「十」和「X」。當Alice選擇頻道「十」時,可以發送兩種角度的光子,0度的光子代表位元1,90度的光子代表位元0;當Alice選擇頻道「X」時,45度的光子代表位元1,135度的光子代表位元0。同樣地,Bob接收到資訊時,他也可以選擇兩種頻道來測量。當Bob使用頻道「十」來測量時,他只會得到0度或是90度的光子;當Bob使用頻道「X」時,他只會得到45度或135度的光子。

簡言之,無論是發送或接收,都可以選擇兩種頻道。而每一種頻道都只會顯示該頻道特有的兩種角度。如下圖:

量子密鑰傳輸的兩種頻道:十 & X

接下來就是量子特性發威的時候了!當Bob使用相同的頻道測量時,他一定可以得到正確的資訊。例如,同樣使用頻道「十」,則0度的光子就一定會測量為0度。但若他使用錯誤的頻道測量時,便有一半的機會得到錯誤的資訊。例如,一顆0度的光子(位元1)若使用X頻道測量,就會有一半的機會變成45度(位元1),一半的機會變成135度(位元0)。如下圖:

使用正確的頻道,則一定可以得到正確的測量結果;若使用錯誤的頻道,則光子原有的角度會被改變

對於每顆光子,Alice都可以任意選擇兩種頻道,所以Bob每次接收一顆光子時,只「猜」Alice使用哪一種頻道。當Alice全部傳完,Bob也都接收到之後,Bob會把自己每一顆分別選用的頻道放上公開的網路。Alice看到後,也在公開的網路上告訴Bob哪些光子是錯誤的頻道,雙方再把這些錯誤的結果丟掉不使用。

然而,若是光子在傳輸過程被駭客攔截了,光子會有一半的機會改變它原本的角度。因為此時駭客還不知道Alice使用何種頻道,他只能在「十」和「X」之中亂猜。若是駭客猜對了正確的頻道,光子就會保持原本的樣子;但若是駭客使用錯誤的頻道,光子就會改變角度。例如0度的光子使用X頻道,就會變成45度或是135度。

例如在下圖中,Alice一共傳了六顆光子,而第二顆和第六顆光子Bob使用錯誤的頻道,所以Alice會在公開的網路上告訴Bob第二顆和第六顆的測量結果需要丟棄。

由於剩下的光子,都是雙方使用相同的頻道測量,Bob必定可以得到相同的資訊。此時Alice和Bob只要從中選擇幾個位元的測量結果,放上公開的網路,若是完全相同,則有很高的機率保證沒有駭客竊聽。反之,若是有一定比例的位元是錯誤的,則通訊過程有駭客竊聽。Alice和Bob再放棄這次協定,重新開始。

基於量子力學「測量會改變光子狀態」的特性,量子密鑰傳輸協定確保任何竊聽必然會被發現。

量子密鑰傳輸可總結為下列步驟:

  1. Alice送出四種角度的光子
  2. Bob隨機以兩種頻道測量 (用何種頻道需記錄下來)
  3. Bob在公開的網路上宣布使用哪些頻道
  4. Alice在公開的網路上告知Bob哪些光子使用錯誤的頻道
  5. Alice和Bob把這些使用錯誤頻道的光子丟棄
  6. Alice和Bob從剩下的光子隨機選擇一些,在公開的網路上比對結果。若完全一樣,則可確定沒有駭客竊聽。
https://en.wikipedia.org/wiki/Quantum_key_distribution

雖然離實用的量子電腦還早,但量子密鑰傳輸卻已經是商業生產的科技產品了。在美國、中國、歐盟的政府、金融機構就已架設上百公里的光纖供量子密鑰傳輸使用。

Toshiba還有產品可以買喔!買一套放在家有沒有很潮呀XD (這不是業配文)

細心的讀者可能會發現,若是駭客不斷干擾通訊,那麼Alice和Bob不就必須一直放棄協定,重新開始嗎?其實,若是干擾比例在一定程度以內,Alice和Bob可以使用錯誤更正碼 (error correction code) 和隨機淬取器 (randomness extractor) 讓雙方仍可以擁有一組駭客無法得知的密鑰。不過那又是另一番故事了,下次再聊吧!

延伸閱讀:

  1. Wikipedia: Quantum Key distribution
  2. 科學人:量子傳訊,絕對機密

--

--

鍾豪

如果我的文字,能讓另一個人遇上他不曾接觸卻感動他的作品,那便是我最大的滿足。