受持續升溫的量子技術的影響,抗量子密碼也成為人民大眾經常談起的話題。在正式的內容展開之前,讓我們先從兩個小故事來建立必須的基本概念。
故事1:一日去國家密碼管理局開會,行至門口遇到兩位散步的老兩口盯著門口的牌子在聊天。老爺爺說:「都說很多國家部門人浮於事,這次我算漲見識了,連密碼都要有一個專門局來管理」。老奶奶回覆說:「嗯,這也算是國家為老百姓著想,否則像咱們這樣經常忘記密碼的人該多痛苦啊,下次再忘了銀行存摺的密碼就來這個部門尋求幫助好了」。
概念區分1-密碼與口令:對於非密碼專業的人們,一般說到的密碼是指的我們登陸電腦、郵箱、微信、QQ等系統或應用的口令,或者銀行卡、網上轉帳等交易的口令。口令技術本身是一種基本的身份認證技術,用於識別用戶的合法性。在複雜的安全協議中,口令經常作為密碼算法的安全要素之一進行使用。本文介紹的密碼技術是一種基於數學或物理技術的信息變換技術,主要用於保護信息的機密性和完整性。通俗的說,就是防止壞人偷看我們的信息,防止壞人冒充好人進行通信或交易。密碼是一門古老的技術,其起源可以追溯到公元前四世紀,在兩千多年的發展歷程中一直是一種披著神秘面紗的軍事技術。隨著信息技術的不斷進步,在民用和商用領域強大需求的推動下,密碼技術逐漸走下神壇,從一種只有極少數人掌握的專用技術變成一種幾乎無所不在的信息防護之盾。從我們日常生活中的身份證、銀行卡、公交卡、手機、安防攝像頭,到工作中的電腦、數字政務系統、數字辦公系統、門禁,再到國家的基礎設施中的電力、交通等,信息技術所到之處均需要密碼技術的保駕護航。
故事2:今年科技周我們在軍事博物館擺了個展位科普抗量子密碼技術,一位來參觀的科技愛好者盯著我們簡陋的科普幻燈片認真思索了片刻之後向我詢問到:「潘院士已經修了京滬量子幹線,發射了墨子號量子衛星,你們為什麼還要做量子密碼呢?」
概念區分2-抗量子密碼與量子密碼:我們通常所說的抗量子密碼是指傳統密碼中可以抵抗量子計算攻擊的密碼算法,其安全性一般基於數學困難問題設計,目前主要包括格密碼、基於編碼的密碼、多變量密碼、基於散列函數的密碼、同源密碼等類型。而量子密碼是指基於量子力學的物理原理設計的密碼,其安全性基於不可克隆、測不準原理等物理原理,目前主要包括量子密碼交換(QKD)。在應用方面二者最顯著的區別是抗量子密碼算法可以運行於經典的計算機和通信系統之上,而量子密碼需要部署於量子通信和計算系統之上。
量子計算機為什麼能夠攻破現在的密碼?
作為一種攻防對抗型的技術,基本哲學原理決定了不存在絕對安全的密碼技術,所有的安全性都有其前提條件。當前應用最廣泛的密碼算法之一RSA,基於的前提條件是大整數分解問題的困難性。雖然我們讀小學的時候已經掌握了因子分解的技能,可以把一個整數拆解為一些素數的乘積,然而當這個整數非常大的時候,這個問題就變得非常複雜。
舉個例子,如果一個600位的十進位大整數包含了兩個300位左右的素因子,我們要找到這兩個素因子,即使動用每秒能算10億億次的神威太湖之光巨型計算機也需要計算10億年的時間才能找到答案。
量子計算機與傳統的電子計算機的最大區別在於量子態疊加性質使得單個量子比特可以同時表示0和1兩種狀態,隨著量子比特數的增加其能夠表達的數據呈現指數級增加,例如1024個量子比特可以同時表達2^1024個數據。這就使得量子計算天然具備指數級的並行計算能力,可以輕鬆解決指數級數據空間的搜索問題。因此,基於量子計算的Shor算法可以輕鬆破解原本非常困難的因子分解問題和離散對數問題,從而攻破目前使用的RSA算法和ElGamal算法。
量子計算機什麼時候能夠攻破現有的密碼?
按照最原始的Shor算法估計,破解2048比特的RSA算法需要2048*3個量子比特的通用量子計算機。根據公開的數據,目前技術進展最順利的超導量子計算機還停留在20-70個量子比特之間,而且尚未完成糾錯和全糾纏等運行Shor算法需要的功能。提升量子比特的數目和量子糾錯都帶來巨大的技術挑戰。根據谷歌最新公布的糾錯技術估計,破解2048位的RSA算法需要2千萬個物理比特。因此,目前尚無法精確預測量子計算機什麼時候能夠真正破解RSA。
然而,密碼算法的生命周期非常長,例如根據歐盟的標準數據需要50年的保密期,再考慮到制訂和推廣密碼算法標準需要5-10年時間,因此我們需要考慮的是量子計算機60年之後是否可以破解RSA。
三體小說中描述的故事告訴我們,智慧文明在科技的發展過程中會發生爆炸式增長,因此60年內能發生的技術進步是難以精確預測的。這就是歐美等國家決定啟動抗量子密碼算法標準徵集來應對量子計算威脅的原因。
D-Wave 2000Q
IBM Q System One
目前的抗量子密碼技術是否已經成熟?
雖然量子計算表面上具備了指數級的計算能力,可以對任何困難問題進行暴力搜索求解,但是最終想要的計算的結果也淹沒在指數級的數據之中,必須設計精巧的量子算法才能得到正確的結果。
目前對密碼算法產生影響的主要是Shor,Simon和Grover等算法,其中威脅最大的是Shor算法對公鑰密碼算法的多項式級破解。因此,目前國際上對抗量子密碼算法的研究主要集中在公鑰密碼領域。
在公鑰密碼領域除了工業界熟悉的RSA和ElGamal兩個類型的密碼算法之外,還有許多其他的類型,其中有五種類型的公鑰密碼算法尚未發現有效的量子計算攻擊,它們被統一稱為後量子密碼算法,包括:格密碼、基於編碼的密碼、多變量密碼、基於散列的數字籤名、同源密碼。
這些密碼算法中基於編碼的密碼和基於散列的數字籤名已經有40年的研究歷史,多變量密碼已經發展了30多年,格密碼和同源密碼已經發展了20多年。這些密碼算法的設計與分析理論已經取得了許多成果,在量子計算複雜性分析方面尚未完全成熟,經典安全性和效率已經接近實用化需求。在國際標準化需求的大力推動下有望在未來3-5年內取得較大發展,最終形成實用化的密碼算法標準。
在抗量子密碼技術方面我們與國際先進水平相差有多大?
在抗量子密碼領域歐美起步早,做出了大量原創性成果,我國在該領域起步較晚,缺乏原創性成果,這些差距很難用精確的距離來描述。需要指出的是,缺乏原創性成果並不會從根本上阻礙我國推動抗量子密碼算法的標準化和產業應用,正如我國在移動通信領域的原創性成果缺乏並未阻礙華為公司在5G應用方面的國際領先地位。
目前,在抗量子密碼算法標準制訂和產業推廣方面美國NIST走在最前面,美國NIST於2009年發布了後量子密碼算法的綜述,2012年正式啟動後量子密碼算法標準項目,2016年發布後量子密碼算法徵集公告,評估工作分為3輪進行,每輪18個月左右,預計2024年之前完成。
在徵集過程中,NIST共收到來自全球的82份提案,經過審查有69個算法符合要求進入第一輪評估,2019年初發布了進入第二輪評估的26個算法。這些候選算法來自全球各國,其中歐洲是最大的來源地,歐盟的PQCRYTO項目是該領域的旗艦型項目,第一輪的69個候選算法有22個來自該項目組,第二輪的26個有15個來自該項目。
歐美之間的合作非常密切,所以很多算法是來自歐美公司、科研機構、高校聯合設計的。中國團隊是首次參加這類活動,短時間內無法完成設計、分析、實現的全部工作,因此最終只有3個團隊提交了算法,只有1個算法進入了第二輪評估。
美國NIST後量子項目
歐盟ETSI量子安全計劃
量子計算會對整個密碼領域帶來什麼樣的影響?
從公元前四世紀到二戰的機械密碼,到電子計算機興起之後的現代密碼再到目前量子計算技術推動的抗量子密碼,密碼學的發展一直與整個人類的科技進步密切相關。從密碼學科發展的角度來看,量子計算是圖靈炸彈之後推動密碼學發展的又一次裡程碑式的事件。
雖然通用大規模量子計算機的研製還困難重重,但是量子計算對基礎複雜性理論帶來的革命性變化足以促使密碼算法設計與分析理論迎來一次大的飛躍。從基礎的計算複雜性理論到形式化的安全性證明理論都將受到量子計算的影響,密碼學家需要在量子計算環境下重新構建密碼學的大廈。
作者:路獻輝 / 中國科學院信息工程研究所
來源:中國科學院北京分院
編輯:時小七