“絕對安全”的量子密碼

導讀

人們說量子密碼具有絕對安全性,意思是指量子密碼不可能用數學方法破解,要竊密只能用物理方法攻擊設備。在對傳統密碼的破解中,主要考慮數學破解,是因為用數學就“有可能”破解它們,而不是“只有”用數學才能破解它們。量子密碼術和傳統密碼術的對比,是量子密碼術面臨的威脅只來自物理,傳統密碼術面臨的威脅來自數學加物理!也就是說,只要量子通信設備是可靠的,那麼就絕對不會洩密。

注:風雲之聲內容可以通過語音播放啦!讀者們可下載訊飛有聲APP,聽公眾號,查找“風雲之聲”,即可在線收聽~


人們說量子密碼具有絕對安全性,意思是指量子密碼不可能用數學方法破解,要竊密只能用物理方法攻擊設備。也就是說,如果設備是可靠的,那麼就絕對不會洩密。

傳統密碼術

密碼術的基本目的是為了解決一個問題:如何在不安全的信道上,安全地傳輸信息?

解決辦法是通信雙方隱藏一些信息,在不安全的信道上只傳送密文,用這些隱藏信息把密文還原成明文。這些隱藏信息就叫作密鑰。所有的密碼術都包含兩個元素:密鑰和算法。

現在的絕大多數加密方法,都是基於某種數學問題的單向困難性。也就是說,一個問題沿著正方向解決很容易,你可以用它來加密,但逆方向就很困難,導致破解很困難。

“絕對安全”的量子密碼 | 袁嵐峰

現在最常用的密碼體系——RSA密碼體系的三位發明者


為什麼許多曾經被認為牢不可破的密碼體系,最終都被破解了呢?有一個深刻的原因是,在數學上,任何一個實際在用的問題都沒有被證明是單向困難的。實際上,就連單向困難的數學問題是否存在,我們都還不知道。

因此,我們應該有個基本的概念:所有基於數學的密碼的安全性,都是未經證明的!到目前為止,唯一的已經證明不可能被數學破解的密碼就是量子密碼。因此,量子密碼的價值一目瞭然。

量子密碼術

量子密碼術是怎麼實現保密的呢?跟傳統密碼術一樣,也是通過算法和密鑰。實際上,量子密碼術用的算法還是個特別簡單的算法,簡單到三言兩語就能說清楚。

任何一串信息,都可以表示成一串二進制字符,即一串 0 和 1。對這個 01 字符串的每一位數字a,我們都給它一個對應的密鑰 k,這個k 也是一個 0 或 1 的數字。根據 a 和k,就可以算出對應的密文 b,它也是一個 0 或 1的數字。

對應的規則是:如果 k= 0,那麼 b就等於 a;如果k= 1,那麼b 就等於 0 和 1 中不等於a 的那一個。也就是說,k = 0 就把 0 變成 0,1 變成 1,而 k =1 就把 0 變成1,1 變成 0。再簡單一點說, k= 0 就不變, k= 1 就將 0 和1 互換。這個算法叫作“異或”。

你也許會感到奇怪,那麼多複雜的算法都保不了密,這個最簡單的算法憑什麼可以?

訣竅不在於算法,而在於密鑰。請注意,這裡的密鑰不是隻有一位數字。如果只有一位數字,那當然完全沒有保密效果。實際情況是,對於原文的每一位,都相應地有一位密鑰。也就是說,如果原文的長度是n 位,那麼密鑰的長度也是n位。如果原文像《紅樓夢》那麼長,那麼密鑰也需要這麼長。

“絕對安全”的量子密碼 | 袁嵐峰

《紅樓夢》


另外,這串密鑰的字符串還必須是個隨機的字符串。也就是說,每一位都是隨機的 0 或者 1,任意兩位數之間,沒有任何聯繫。

此外,這麼長的密鑰,還只能用一次。也就是說,你這次用n 位的密鑰傳輸 n位的原文,下次你傳同樣的內容,還必須從頭再來,重新構造 n位的密鑰,千萬不能把原來的密鑰再用一次。這叫作“一次一密”。

量子密碼術中的密鑰就是滿足這樣 3 個條件的字符串:長度跟明文相等,隨機,一次一密。

為什麼要這樣做呢?因為這樣就絕對不會被數學方法破譯。為什麼不可能被破譯?因為這樣的一段密文,可能對應任何的一段跟它等長的明文,而且概率相等。比如說,既可能對應“明天上午向東進攻”,也可能以同樣的概率對應“後天下午向西撤退”或“飛出地球移民宇宙”……

對這樣沒有任何偏向性的密文,數學分析完全無從下手,因為這裡根本就沒有一個讓你解決的數學問題。

長度跟明文相等、隨機、一次一密,滿足這 3 個條件的密鑰叫作“一次性便箋”。因此,密碼學中一個重要的定理就是:用一次性便箋加密的密文,是絕對不可破譯的。這條定理是信息論的創始人克勞德·香農證明的。

“絕對安全”的量子密碼 | 袁嵐峰

克勞德·香農


值得注意的是,一次性便箋中的 3 個條件缺一不可。無論是密鑰長度小於明文,還是密鑰的各位之間有聯繫,還是同一串密鑰用了兩次,都會導致密文呈現某種結構,這樣對手就有了著力之處,就可能通過頻率分析之類的手段破解密碼。

一次性便箋方法早在第一次世界大戰的末期就發明了,但很少實際應用。原因是,傳送這樣大量的密鑰非常困難。如果像《紅燈記》《潛伏》等諜戰片一樣,派信使去傳密鑰,那麼一旦信使被抓或叛變,損失將十分巨大。因此,一次性便箋方法只用在不惜任何代價要保證信息安全的地方,例如國家元首之間的通話。

量子密碼術改變了這種狀況,它的辦法是:用量子力學的物理方法,在通信雙方之間產生一次性便箋密鑰。這裡的關鍵是:雙方同時獲得了密鑰!沒有第三者信使在中間傳輸!

這是非常巧妙的思想,是量子力學創造的奇蹟。量子密碼術的技術含量,就是表現在這裡。量子密鑰的產生過程,同時就是分發過程,因此量子密碼術又有個專業名稱,叫作“量子密鑰分發”。

“絕對安全”的量子密碼 | 袁嵐峰

量子密鑰分發


那麼,量子密碼術是怎麼實現無信使的密鑰分發的呢?一個簡略的解釋是:量子密碼術利用了量子力學中的兩個原理,一個是疊加原理,另一個是測量可能導致狀態突變。基於這兩個原理,通過發射和接收一系列處於隨機狀態的單光子,來使通信雙方獲得一串相同的隨機字符串。這串隨機字符串就是一次性便箋密鑰。

“絕對安全”的量子密碼 | 袁嵐峰

量子力學中的疊加


“絕對安全”的量子密碼 | 袁嵐峰

量子力學中的測量


通過一系列操作以後,雙方都獲得了一串隨機的 0 和 1,比如說0010111001001010101……最重要的是,雙方的這個字符串完全一樣。這就是最終的效果。

有了密鑰之後,就用“異或”加密算法,用密鑰把明文加密成密文,把密文發送出去。既然密文已經是不可破譯的了,這一步就不需要任何特別的設備,直接在傳統信道上大搖大擺地走就是了,敵方截獲也無妨。

一個常見的誤解,是以為最後的信息傳送要通過某種量子信道。當他們知道傳統信道就行的時候,就感到大惑不解,甚至以為搞量子通信的都是騙子。

另一個常見的誤解,是以為密鑰也要通過傳統信道傳輸。這是絕對不可能的,如果要將密鑰通過不安全的信道發出去,那就完全失去了保密的意義。任何密碼系統都不會愚蠢到這種程度。

總結一下,量子密碼術真實的做法是:用量子信道產生密鑰,用傳統信道傳送密文。你也許想問:既然量子信道可以保證不洩密,那為什麼不直接用量子信道傳輸信息,而只是傳輸密鑰呢?因為這種量子力學的操作只能產生隨機字符串,隨機字符串的信息量是零,所以這種操作本身不能傳輸信息。因此,這種方法的提出者在很長時間內想不出它有什麼用,直到發現這段隨機字符串可以作密鑰,才讓這種方法有了用武之地。

量子密碼的攻防

如果需要破解量子密碼,又該怎麼辦呢?基本的框架其實很簡單。既然數學方法不可能破譯量子密碼,那麼唯一的途徑當然就是物理方法,用各種手段入侵量子通信設備。

在對傳統密碼的破解中,主要考慮數學破解,是因為用數學就“有可能”破解它們,而不是“只有”用數學才能破解它們。

因此,量子密碼術和傳統密碼術的對比,並不是前者的威脅只來自物理,後者的威脅只來自數學。應該是量子密碼術面臨的威脅只來自物理,傳統密碼術面臨的威脅來自數學加物理!

量子密碼術現在的研究前沿,就是在假定敵方成功地進行了若干種物理攻擊的前提下,仍然能夠保證信息不洩露。

一個研究前沿叫作“測量儀器無關的量子密鑰分發”。這個術語的意思是,即使敵方獲取了我們的測量儀器,我們仍然有辦法及時發現並中止生成密鑰,從而避免洩露信息。這方面的實驗驗證已經成功,下一步是提高成碼率的問題。在這個領域,中國也走在世界前列。

背景簡介:袁嵐峰,中國科學技術大學化學博士,中國科學技術大學合肥微尺度物質科學國家研究中心副研究員,科技與戰略風雲學會會長,青年科學家社會責任聯盟理事,中國無神論學會理事,安徽省科學技術協會常務委員,微博@中科大胡不歸,知乎@袁嵐峰(https://www.zhihu.com/people/yuan-lan-feng-8)。文章原載於《科學畫報》2019年第五期,風雲之聲獲授權轉載。
責任編輯:吳啟然


分享到:


相關文章: