你完全可以理解量子信息(13)| 袁嵐峰
關注風雲之聲提升思維層次
解讀科學,洞察本質
戳穿忽悠,粉碎謠言
導讀
對稱密碼體制本身是安全的,但分發密鑰的信使是大漏洞。非對稱密碼體制不需要信使,但你又會擔心它被數學方法破解。山重水複疑無路,柳暗花明又一村。噹噹噹噹當,英雄閃亮登場的時候到了!不錯,我就是美貌與智慧並重,英雄與俠義的化身,……量子密碼術!
—————————————————————————————————————————
前文參見: 你完全可以理解量子信息(1) | 袁嵐峰
你完全可以理解量子信息(2-3) | 袁嵐峰
你完全可以理解量子信息(4-5) | 袁嵐峰
你完全可以理解量子信息(6) | 袁嵐峰
你完全可以理解量子信息(7) | 袁嵐峰
你完全可以理解量子信息(8-10)| 袁嵐峰
你完全可以理解量子信息(11-12)| 袁嵐峰
十三、為什麼需要量子密碼術?
我們終於說到了量子信息的最後一個應用「量子密碼術」,也稱為「量子保密通信」或者「量子密鑰分發」。這是迄今唯一接近實用的量子信息應用,但這一個就具有極高的軍事和商業價值,足以證明各國對量子信息的大力投入是物有所值的。所以,我們也要用最多的篇幅來比較詳細地解釋它。
在科學界的術語中,量子通信是一個廣泛的研究領域,包括量子密碼術、量子隱形傳態和本文中沒有介紹的「超密編碼」等等。但由於量子密碼術是唯一接近實用的,所以當媒體報道「量子通信」的時候,他們往往實際上指的就是量子密碼術,即量子通信的一部分而非全部。這是我們在看新聞時需要注意的。
看「量子密碼術」這個名字,就能知道這是一種保密的方法。為什麼需要用量子力學的方法來保密呢?我們需要了解密碼學的基本原理,才能明白量子密碼術解決了傳統密碼術的什麼「痛點」,以及量子因數分解對傳統密碼術造成了什麼樣的挑戰。(敲黑板!)下面我們來上一堂簡短的密碼學課程。
把明文變換成密文,需要兩個元素:變換的規則和變換的參數。前者是編碼的演算法,例如「在英文字母表上前進x步」。後者是密鑰,例如上述演算法中的x這個數。如果取x = 1,明文的「fly at once」(立即起飛)就會變成密文的「gmz bu podf」。
一般人常常以為,我用一個你想不到的演算法,就能保密。但事實上,把希望寄托在演算法不泄露上,是靠不住的。同一個演算法很可能有許多人在用,這些人當中任何一個人都可能泄露演算法。如果演算法用到機器(例如二戰中德國用的Enigma密碼機),那麼敵人只要得到一台機器,就可以知道演算法。
閃電戰創始人古德里安在指揮車上,左下方是Enigma密碼機
只要你知道有一個人或一台機器泄露了演算法,那麼所有人的演算法就都要換,這個工作量大得驚人。如果你沒發現演算法的泄露,那損失就更可怕了。例如在第二次世界大戰中,德國和日本的密碼系統早就被盟國破解了,而他們一直不知道,送上了無數機密。山本五十六的飛機,就是因為行程泄露被擊落的。
那麼,靠得住的是什麼呢?所有的保密方法都是通過隱藏某些東西來實現的,需要隱藏的越少,安全性就越高,而最容易隱藏的是密鑰。同一個演算法可以有很多個密鑰,使用同樣演算法的每一組人都可以用單獨的密鑰。如果有人泄露了一組密鑰,用不著驚慌,只要更換一組密鑰就行。即使你沒發現密鑰泄露,也只是這一組人的情報失竊,不會拖累其他人。
因此,密碼學的一個基本原則是,在設計演算法時,你必須假設敵人已經知道了演算法和密文,唯一不知道的就是密鑰。密碼學的研究目標就是,讓敵人在這種情況下破譯不了密文。當然,你可以對演算法保密,這可能會增加敵人的困難。但無論如何,不能把希望寄托在這上面。
最容易想到的保密框架,是通信雙方都知道同一組密鑰,A用它將明文轉換成密文,B用它將密文變換回原文。《紅燈記》、《潛伏》等諜戰片中情報人員捨死忘生、殫精竭慮保護和爭奪的密碼本,就是密鑰。由於通信雙方都知道同一組密鑰,所以這種方法叫做「對稱密碼體制」。
《紅燈記》
對稱密碼體制究竟安全不安全呢?回答是:密碼本身可以是安全的,但密鑰的分發不安全。
我們先來解釋前一句話:密碼本身可以是安全的。資訊理論的創始人香農(Claude E. Shannon)證明了一個數學定理:密鑰如果滿足三個條件,那麼通信就是「絕對安全」的。這裡「絕對安全」是一個數學用語,它的意思是:敵人即使截獲了密文,也無法破譯出明文,他能做的最多也只是瞎猜而已。哪三個條件呢?一,密鑰是一串隨機的字元串;二,密鑰的長度跟明文一樣,甚至更長;三,每傳送一次密文就更換密鑰,即「一次一密」。滿足這三個條件的密鑰叫做「一次性便箋」。
稍微思考一下,就能理解香農的定理。比如說,你拿到的密文是一個8位的字元串DHDSBFKF,這其中每一位的原文都是另外一個字元,對應規則都是「在英文字母表上前進x步」,但x對每一位都單獨取值(這就需要密鑰的長度至少跟原文一樣,即第二個條件),而且是隨機的(第一個條件)。例如第一位的x = 1,把原文的C變成密文的D,第二位的x = 3,把原文的E變成密文的H。如果你是敵對方,你如何猜出原文?
有一個常用的辦法是基於英文中各個字母使用頻率的不同(最常見的前五位是E、T、A、O、I),統計密文中每個字母出現的頻率。但這隻適用於每一位的變換規則都相同的情況(即只有一個統一的x),而在這裡每一位都有自己隨機的x,這一招就用不上了。如果不是一次一密(第三個條件),你還可以連續截獲好幾份密文,然後在多份密文的同一個位置做這種頻率分析。但加上一次一密之後,連這個僅存的希望也破滅了。因此,你除了瞎蒙之外,還能幹什麼呢?
我們再來解釋後一句話:密鑰的分發不安全。香農的定理聽起來好像已經解決了保密通信的問題,但其實沒有。真正的難題在於,怎麼把密鑰從一方傳給另一方?
在現實生活中,需要第三方的信使來傳遞。而信使可能被抓(如《紅燈記》中的李玉和)或者叛變(如《紅岩》中的甫志高),這麻煩就大了。最好是不通過信使,通信雙方直接見面分享密鑰。但是如果雙方可以輕易見面,還要通信幹什麼?
有人可能會想到一個「機智」的主意,讓信使一次就配送儘可能多的密鑰,足以在很長時間內使用,比如說足夠傳輸一億次。但即使先不問「第一億零一次怎麼辦」,你也很快就會明白,這只是把泄密的風險從密鑰的配送(部分地)轉移到密鑰的保存而已。只要你手裡有個密鑰,敵人就可能來偷,而你手裡的密鑰越多,在使用前保存的時間越長,被偷走的風險就越大。為了把密鑰保存的困難降到最低,最好是只保存一次使用的密鑰,一拿到立刻就用掉,但那樣需要的配送次數又是最多的。難哪!
為了解決密鑰配送和保存的問題,聰明的數學家們想出了另外一套辦法,稱為「非對稱密碼體制」或者「公鑰密碼體制」。現在不需要信使了,李鐵梅和余則成可以光榮下崗了。為什麼可以做到這樣呢?請注意,解密只是接收方B的事,發送方A並不需要解密,他們只要能加密就行。
那好,B打造一把「鎖」和相應的「鑰匙」,把打開的鎖公開寄給A。A把文件放到箱子里,用這把鎖鎖上,再公開把箱子寄給B。B用鑰匙打開箱子,信息傳輸就完成了。
如果有敵對者截獲了箱子,他沒有鑰匙打不開鎖,仍然無法得到文件。這裡的「鎖」是公開的,任何人都能得到,所以叫做「公鑰」,而「鑰匙」只在B手裡有,所以叫做「私鑰」。
這種巧妙的思想,實現的關鍵在於:有了私鑰可以很容易地得到公鑰,而有了公鑰卻很難得到私鑰。就是說,有些事情沿著一個方向操作很容易,逆向操作卻非常困難,「易守難攻」。因數分解就是一個典型例子。這就是因數分解能用於密碼術的原因,上文所述的RSA密碼體系就以此為基礎。
然而,公鑰密碼體制仍然不能保證絕對安全。無論是經典的還是量子的演算法,都在不斷改進。RSA在理論上已經被量子的因數分解演算法攻克了。你當然可以尋找其他的易守難攻的數學問題(這是一個活躍的研究領域),但誰也無法保證將來的演算法進步是不是能破解這個問題,這會成為一場無窮無盡的貓捉老鼠的遊戲。更可怕的是,有可能敵對國家或組織已經找到解密的演算法了,而你還不知道!
我們來總結一下傳統密碼術的困境。對稱密碼體制本身是安全的,但分發密鑰的信使是大漏洞。非對稱密碼體制不需要信使,但你又會擔心它被數學方法破解。兩難。
山重水複疑無路,柳暗花明又一村。噹噹噹噹當,英雄閃亮登場的時候到了!不錯,我就是美貌與智慧並重,英雄與俠義的化身,……量子密碼術!
我就是美貌與智慧並重,英雄與俠義的化身:唐伯虎
咳咳,量子密碼術做的是什麼呢?其實是回到對稱密碼體制,但取消信使。也就是說,不通過信使,就能讓雙方直接共享密鑰。這樣就吸收了對稱和非對稱兩種密碼體制的優點,克服了它們的缺點,實現了一種真正無懈可擊的保密通信。
怪哉,不通過信使怎麼共享密鑰?關鍵在於,這裡的密鑰並不是預先就有的,一方拿著想交給另一方。(地下黨組織:李玉和同志,這是密電碼,這個光榮而艱巨的任務就交給你了。)在初始狀態中,密鑰並不存在!(地下黨組織:李玉和同志,我們沒有任何東西要交給你,解散!)
量子密鑰是在雙方建立通信之後,通過雙方的一系列操作產生出來的。利用量子力學的特性,可以使雙方同時在各自手裡產生一串隨機數,而且不用看對方的數據,就能確定對方的隨機數序列和自己的隨機數序列是完全相同的。這串隨機數序列就被用作密鑰。量子密鑰的產生過程,同時就是分發過程,——這就是量子密碼術不需要信使的原因。
關於量子密鑰的特點,還可以再解釋得詳細一點。量子密鑰是一串隨機的字元串,長度可以任意長,而且每次需要傳輸信息時都重新產生一段密鑰,這樣就完全滿足了香農定理的三個要求(密鑰隨機,長度不低於明文,一次一密),因此用量子密鑰加密後的密文是不可破譯的。
雙方都有了密鑰之後,剩下的事情就跟經典的通信完全相同了:A把明文用密鑰編碼成密文,然後用任意的通信方式發給B。「任意的」通信方式的意思就是「怎麼都行」:可以用電話,可以用電報,可以用電子郵件,甚至用平信都行。香農的定理保證了這一步不怕任何敵人,因為截獲了也破譯不了。
因此,量子保密通信的全過程包括兩步。第一步是密鑰的產生,這一步用到量子力學的特性,需要特別的方案和設備。第二步是密文的傳輸,這一步就是普通的通信,可以利用任何現成的通信方式和設施。量子保密通信所有的奇妙之處都在第一步上,所以它又被叫做「量子密鑰分發」,這是業內人士常用的一個技術性的名稱。
(未完待續)
背景簡介:本文作者為袁嵐峰,中國科學技術大學化學博士,中國科學技術大學合肥微尺度物質科學國家實驗室副研究員,科技與戰略風雲學會會長,微博@中科大胡不歸,知乎@袁嵐峰(https://www.zhihu.com/people/yuan-lan-feng-8)。本文應新浪科技之邀,2017年8月31日以《<科學大家>| 4萬字乾貨!你完全可以理解量子信息》為題發表於新浪科技「科學大家」欄目(http://tech.sina.com.cn/d/2017-08-31/doc-ifykpysa2199081.shtml)。
致謝:感謝中國科學技術大學合肥微尺度物質科學國家實驗室陳宇翱教授、陳騰雲博士、彭新華教授、陸朝陽教授、張強教授、張文卓博士和清華大學交叉信息研究院尹璋琦博士、物理系王向斌教授在科學內容方面的指教。責任編輯:孫遠
歡迎關注風雲之聲
知乎專欄:
http://zhuanlan.zhihu.com/fengyun
一點資訊:
http://www.yidianzixun.com/home?page=channel&id=m107089
今日頭條:
http://toutiao.com/m6256575842
推薦閱讀:
※如果量子理論都是正確的,是不是人生就毫無意義了?
※龍愛量子要「詐屍」,恐嚇參與者不要報案!
※我們的第一台量子計算機(三)
※2017即將過去,套哥想和各位聊聊這個平台。丨無路可套
※大跌眼鏡!龍愛量子竟然真的開網了!
TAG:量子 |