news center
新聞中心
發(fā)布時間:2023-03-06 09:28:03 信息來源: 閱讀次數(shù): 6105 次
導讀:
對稱密碼體制本身是安全的,,但分發(fā)密鑰的信使是大漏洞。非對稱密碼體制不需要信使,,但你又會擔心它被數(shù)學方法破解,。山重水復疑無路,柳暗花明又一村,。當當當當當,,英雄閃亮登場的時候到了,!不錯,,我就是美貌與智慧并重,,英雄與俠義的化身,……量子密碼術(shù),!
前文參見:
十三,、為什么需要量子密碼術(shù)?
我們終于說到了量子信息的最后一個應用“量子密碼術(shù)”,,也稱為“量子保密通信”或者“量子密鑰分發(fā)”,。這是迄今唯一接近實用的量子信息應用,但這一個就具有極高的軍事和商業(yè)價值,,足以證明各國對量子信息的大力投入是物有所值的。所以,,我們也要用最多的篇幅來比較詳細地解釋它,。
在科學界的術(shù)語中,量子通信是一個廣泛的研究領域,,包括量子密碼術(shù),、量子隱形傳態(tài)和本文中沒有介紹的“超密編碼”等等。但由于量子密碼術(shù)是唯一接近實用的,所以當媒體報道“量子通信”的時候,,他們往往實際上指的就是量子密碼術(shù),,即量子通信的一部分而非全部。這是我們在看新聞時需要注意的,。
看“量子密碼術(shù)”這個名字,,就能知道這是一種保密的方法。為什么需要用量子力學的方法來保密呢,?我們需要了解密碼學的基本原理,,才能明白量子密碼術(shù)解決了傳統(tǒng)密碼術(shù)的什么“痛點”,以及量子因數(shù)分解對傳統(tǒng)密碼術(shù)造成了什么樣的挑戰(zhàn),。(敲黑板?。┫旅嫖覀儊砩弦惶煤喍痰拿艽a學課程。
把明文變換成密文,,需要兩個元素:變換的規(guī)則和變換的參數(shù),。前者是編碼的算法,例如“在英文字母表上前進x步”,。后者是密鑰,,例如上述算法中的x這個數(shù)。如果取x = 1,,明文的“fly at once”(立即起飛)就會變成密文的“gmz bu podf”,。
一般人常常以為,我用一個你想不到的算法,,就能保密,。但事實上,把希望寄托在算法不泄露上,,是靠不住的,。同一個算法很可能有許多人在用,這些人當中任何一個人都可能泄露算法,。如果算法用到機器(例如二戰(zhàn)中德國用的Enigma密碼機),,那么敵人只要得到一臺機器,就可以知道算法,。
閃電戰(zhàn)創(chuàng)始人古德里安在指揮車上,,左下方是Enigma密碼機
只要你知道有一個人或一臺機器泄露了算法,那么所有人的算法就都要換,,這個工作量大得驚人,。如果你沒發(fā)現(xiàn)算法的泄露,那損失就更可怕了,。例如在第二次世界大戰(zhàn)中,,德國和日本的密碼系統(tǒng)早就被盟國破解了,,而他們一直不知道,送上了無數(shù)機密,。山本五十六的飛機,,就是因為行程泄露被擊落的。
那么,,靠得住的是什么呢,?所有的保密方法都是通過隱藏某些東西來實現(xiàn)的,需要隱藏的越少,,安全性就越高,,而最容易隱藏的是密鑰。同一個算法可以有很多個密鑰,,使用同樣算法的每一組人都可以用單獨的密鑰,。如果有人泄露了一組密鑰,用不著驚慌,,只要更換一組密鑰就行,。即使你沒發(fā)現(xiàn)密鑰泄露,也只是這一組人的情報失竊,,不會拖累其他人,。
因此,密碼學的一個基本原則是,,在設計算法時,,你必須假設敵人已經(jīng)知道了算法和密文,唯一不知道的就是密鑰,。密碼學的研究目標就是,,讓敵人在這種情況下破譯不了密文。當然,,你可以對算法保密,,這可能會增加敵人的困難。但無論如何,,不能把希望寄托在這上面,。
最容易想到的保密框架,是通信雙方都知道同一組密鑰,,A用它將明文轉(zhuǎn)換成密文,,B用它將密文變換回原文?!都t燈記》,、《潛伏》等諜戰(zhàn)片中情報人員舍死忘生、殫精竭慮保護和爭奪的密碼本,,就是密鑰,。由于通信雙方都知道同一組密鑰,所以這種方法叫做“對稱密碼體制”,。
《紅燈記》
對稱密碼體制究竟安全不安全呢,?回答是:密碼本身可以是安全的,但密鑰的分發(fā)不安全,。
我們先來解釋前一句話:密碼本身可以是安全的,。信息論的創(chuàng)始人香農(nóng)(Claude E. Shannon)證明了一個數(shù)學定理:密鑰如果滿足三個條件,那么通信就是“絕對安全”的,。這里“絕對安全”是一個數(shù)學用語,,它的意思是:敵人即使截獲了密文,也無法破譯出明文,,他能做的最多也只是瞎猜而已,。哪三個條件呢?一,,密鑰是一串隨機的字符串,;二,密鑰的長度跟明文一樣,,甚至更長,;三,每傳送一次密文就更換密鑰,,即“一次一密”,。滿足這三個條件的密鑰叫做“一次性便箋”。
稍微思考一下,,就能理解香農(nóng)的定理,。比如說,你拿到的密文是一個8位的字符串DHDSBFKF,,這其中每一位的原文都是另外一個字符,,對應規(guī)則都是“在英文字母表上前進x步”,但x對每一位都單獨取值(這就需要密鑰的長度至少跟原文一樣,,即第二個條件),,而且是隨機的(第一個條件)。例如第一位的x = 1,,把原文的C變成密文的D,,第二位的x = 3,把原文的E變成密文的H,。如果你是敵對方,,你如何猜出原文?
有一個常用的辦法是基于英文中各個字母使用頻率的不同(最常見的前五位是E,、T,、A,、O、I),,統(tǒng)計密文中每個字母出現(xiàn)的頻率,。但這只適用于每一位的變換規(guī)則都相同的情況(即只有一個統(tǒng)一的x),而在這里每一位都有自己隨機的x,,這一招就用不上了,。如果不是一次一密(第三個條件),你還可以連續(xù)截獲好幾份密文,,然后在多份密文的同一個位置做這種頻率分析,。但加上一次一密之后,連這個僅存的希望也破滅了,。因此,,你除了瞎蒙之外,還能干什么呢,?
我們再來解釋后一句話:密鑰的分發(fā)不安全,。香農(nóng)的定理聽起來好像已經(jīng)解決了保密通信的問題,但其實沒有,。真正的難題在于,,怎么把密鑰從一方傳給另一方?
在現(xiàn)實生活中,,需要第三方的信使來傳遞,。而信使可能被抓(如《紅燈記》中的李玉和)或者叛變(如《紅巖》中的甫志高),這麻煩就大了,。最好是不通過信使,,通信雙方直接見面分享密鑰。但是如果雙方可以輕易見面,,還要通信干什么,?
有人可能會想到一個“機智”的主意,讓信使一次就配送盡可能多的密鑰,,足以在很長時間內(nèi)使用,,比如說足夠傳輸一億次。但即使先不問“第一億零一次怎么辦”,,你也很快就會明白,,這只是把泄密的風險從密鑰的配送(部分地)轉(zhuǎn)移到密鑰的保存而已。只要你手里有個密鑰,,敵人就可能來偷,,而你手里的密鑰越多,在使用前保存的時間越長,被偷走的風險就越大,。為了把密鑰保存的困難降到最低,,最好是只保存一次使用的密鑰,一拿到立刻就用掉,,但那樣需要的配送次數(shù)又是最多的,。難哪!
為了解決密鑰配送和保存的問題,,聰明的數(shù)學家們想出了另外一套辦法,稱為“非對稱密碼體制”或者“公鑰密碼體制”?,F(xiàn)在不需要信使了,,李鐵梅和余則成可以光榮下崗了。為什么可以做到這樣呢,?請注意,,解密只是接收方B的事,發(fā)送方A并不需要解密,,他們只要能加密就行,。
那好,B打造一把“鎖”和相應的“鑰匙”,,把打開的鎖公開寄給A,。A把文件放到箱子里,用這把鎖鎖上,,再公開把箱子寄給B,。B用鑰匙打開箱子,信息傳輸就完成了,。
如果有敵對者截獲了箱子,,他沒有鑰匙打不開鎖,仍然無法得到文件,。這里的“鎖”是公開的,,任何人都能得到,所以叫做“公鑰”,,而“鑰匙”只在B手里有,,所以叫做“私鑰”。
這種巧妙的思想,,實現(xiàn)的關(guān)鍵在于:有了私鑰可以很容易地得到公鑰,,而有了公鑰卻很難得到私鑰。就是說,,有些事情沿著一個方向操作很容易,,逆向操作卻非常困難,“易守難攻”,。因數(shù)分解就是一個典型例子,。這就是因數(shù)分解能用于密碼術(shù)的原因,,上文所述的RSA密碼體系就以此為基礎。
然而,,公鑰密碼體制仍然不能保證絕對安全,。無論是經(jīng)典的還是量子的算法,都在不斷改進,。RSA在理論上已經(jīng)被量子的因數(shù)分解算法攻克了,。你當然可以尋找其他的易守難攻的數(shù)學問題(這是一個活躍的研究領域),但誰也無法保證將來的算法進步是不是能破解這個問題,,這會成為一場無窮無盡的貓捉老鼠的游戲,。更可怕的是,有可能敵對國家或組織已經(jīng)找到解密的算法了,,而你還不知道,!
我們來總結(jié)一下傳統(tǒng)密碼術(shù)的困境。對稱密碼體制本身是安全的,,但分發(fā)密鑰的信使是大漏洞,。非對稱密碼體制不需要信使,但你又會擔心它被數(shù)學方法破解,。兩難,。
山重水復疑無路,柳暗花明又一村,。當當當當當,,英雄閃亮登場的時候到了!不錯,,我就是美貌與智慧并重,,英雄與俠義的化身,……量子密碼術(shù),!
我就是美貌與智慧并重,,英雄與俠義的化身:唐伯虎
咳咳,量子密碼術(shù)做的是什么呢,?其實是回到對稱密碼體制,,但取消信使。也就是說,,不通過信使,,就能讓雙方直接共享密鑰。這樣就吸收了對稱和非對稱兩種密碼體制的優(yōu)點,,克服了它們的缺點,,實現(xiàn)了一種真正無懈可擊的保密通信。
怪哉,不通過信使怎么共享密鑰,?關(guān)鍵在于,,這里的密鑰并不是預先就有的,一方拿著想交給另一方,。(地下黨組織:李玉和同志,,這是密電碼,這個光榮而艱巨的任務就交給你了,。)在初始狀態(tài)中,,密鑰并不存在!(地下黨組織:李玉和同志,,我們沒有任何東西要交給你,,解散!)
量子密鑰是在雙方建立通信之后,,通過雙方的一系列操作產(chǎn)生出來的。利用量子力學的特性,,可以使雙方同時在各自手里產(chǎn)生一串隨機數(shù),,而且不用看對方的數(shù)據(jù),就能確定對方的隨機數(shù)序列和自己的隨機數(shù)序列是完全相同的,。這串隨機數(shù)序列就被用作密鑰,。量子密鑰的產(chǎn)生過程,同時就是分發(fā)過程,,——這就是量子密碼術(shù)不需要信使的原因,。
關(guān)于量子密鑰的特點,還可以再解釋得詳細一點,。量子密鑰是一串隨機的字符串,,長度可以任意長,而且每次需要傳輸信息時都重新產(chǎn)生一段密鑰,,這樣就完全滿足了香農(nóng)定理的三個要求(密鑰隨機,,長度不低于明文,一次一密),,因此用量子密鑰加密后的密文是不可破譯的,。
雙方都有了密鑰之后,剩下的事情就跟經(jīng)典的通信完全相同了:A把明文用密鑰編碼成密文,,然后用任意的通信方式發(fā)給B,。“任意的”通信方式的意思就是“怎么都行”:可以用電話,,可以用電報,,可以用電子郵件,甚至用平信都行。香農(nóng)的定理保證了這一步不怕任何敵人,,因為截獲了也破譯不了,。
因此,量子保密通信的全過程包括兩步,。第一步是密鑰的產(chǎn)生,,這一步用到量子力學的特性,需要特別的方案和設備,。第二步是密文的傳輸,,這一步就是普通的通信,可以利用任何現(xiàn)成的通信方式和設施,。量子保密通信所有的奇妙之處都在第一步上,,所以它又被叫做“量子密鑰分發(fā)”,這是業(yè)內(nèi)人士常用的一個技術(shù)性的名稱,。
(未完待續(xù))
背景簡介:本文作者為袁嵐峰,,中國科學技術(shù)大學化學博士,中國科學技術(shù)大學合肥微尺度物質(zhì)科學國家實驗室副研究員,,科技與戰(zhàn)略風云學會會長