【科技資訊】幾乎無解的最強加密方法,終於被證實真的存在

2021-01-08 騰訊網

最強加密法

圖片來源:Kiel Mutschelknaus for Quanta Magazine

構建無法破解的密碼,是眾多密碼學科學家的目標。一種被稱為不可區分混淆的加密方式因為太過完美,多年來被認為無法實現。不過最近,三名研究者首次證明不可區分混淆是可行的,這或許是通往完美密碼的重要一步。

2018年,加州大學洛杉磯分校的研究生Ayush Jain前往日本,就他和同事正在開發的強大加密算法進行交流。當他講述團隊正在嘗試實現不可區分混淆(indistinguishability obfuscation,簡稱iO)時,一位觀眾困惑地舉起了手。

「可我一直以為iO不存在?」他說。

當時,這樣的懷疑是普遍存在的。不可區分混淆如果可以被構建,不僅能隱藏數據集,還能隱藏程序本身,從而構建一種可以實現幾乎所有其他加密協議的加密算法。但對很多計算機科學家來說,強大到如此地步讓iO看起來難以實現。

計算機科學家從2013年開始提出iO的候選版本。但是他們很快被潑了一盆冷水,其他研究者發現了破解它安全性的方法。

現在,Jain與華盛頓大學的林惠嘉(Huijia Lin,音譯),以及Jain在加州大學洛杉磯分校的導師阿米特·沙海(Amit Sahai)一起證明了這種方法的可行性。在8月18日在網上公開的論文裡,這三名研究者首次展示了如何僅用「標準的」安全假設來構建不可區分混淆。

從左至右依次為Jain、沙海和林惠嘉

所有的加密協議都基於某些假設,比如著名的RSA算法,基於人們普遍認為的觀點——標準計算機不能快速對大數進行質因數分解。加密協議的安全性和前提假設是綁定的,而iO的前提假設建立在未經檢驗並且不牢固的基礎上。相比之下,新的加密協議建立在經過廣泛檢驗的假設基礎之上。

雖然協議還遠未能實用,但從理論上講,通過它可以立即構建一系列以前遙不可及的加密方式。例如,它支持創建可否認加密(deniable encryption),這種加密方式可以讓你向攻擊者發送和真實郵件完全不同的消息;以及函數加密(functional encryption),這種加密可以讓你向用戶提供不同級別的訪問權限,從而用數據進行計算。

以色列理工學院的尤瓦爾·伊沙伊(Yuval Ishai)說:「現在不會有人懷疑不可區分混淆的存在了,這似乎是個不錯的結局。」

皇冠上的寶石

幾十年來,計算機科學家一直都想知道是否存在安全,包羅萬象的方法來混淆電腦程式,讓人們使用的同時無法破解。

要想知道不可區分混淆是什麼,我們不妨先來看一看混淆是什麼。

例如,對於程式設計師來說,最寶貴的自然是代碼,一旦源碼被別人看到了,那麼基本上花的心血和智慧財產權都被人一覽無餘。為了保護代碼,可以在導出程序之前採取一些手段來混淆程序,現在一般有兩種程序混淆方法,即代碼混淆(Code Obfuscation)和代碼編譯(Compilation)。

代碼混淆是為了防止程序代碼本身給外人提供太多信息,同時使程序的運行效率更高。在導出程序時,會將所有標註性的符號(symbols)摘除掉。比較簡單的方法是直接全文替代關鍵詞,例如將全文的ui_controller替代為a0123456,這樣程序的符號就無法暴露程序運轉內容了。代碼編譯更簡單,直接輸出編譯後的代碼,將人們可以看懂的原始碼轉換成電腦看得懂的機器碼。這個過程,就相當於把上面提到的符號全部抹除了,他人看到我們發布的可執行文件中的機器碼時,自然看不懂其中發生了什麼。

但對人的混淆並不是嚴格意義上的混淆,這樣的混淆在密碼學的定義上是非常脆弱的。在電腦程式的分析下,「混淆」後的程序會變得一覽無餘,一下就能看出程序在幹什麼。

真正意義上的混淆被稱作虛擬黑盒(Virtual Black Box Obfuscation,VBB)。將一個程序C嵌入一個黑盒中,我們可以在黑盒的一端輸入x,另一頭會輸出C(x)。因為整個程序都藏在黑盒中,我們完全無法得知任何C的構造信息。唯一可以做的,就是提供輸入x,觀察另一頭的輸出C(x)。

我們稱這樣的黑盒為VBB混淆器O,對於經過O混淆的程序C,我們稱其為O(C)。O(C)的輸出C(x)並不會暴露任何關於C的任何信息。

如果實現虛擬黑盒,用戶可以使用程序卻無法理解程序本身,那麼就能讓開發的程序永遠不被破解,或是用很簡單地實現公鑰加密。密碼學中幾乎所有比較高級的構造都可以非常簡單地用虛擬黑盒實現。

但虛擬黑盒的概念提出不久後,人們很快就被潑了一盆冷水。2001年,七位大牛聯手對混淆這一概念做了系統性的研究,並且發表了一篇文章:On the (Im)possibility of Obfuscating Programs。在文章中,他們提出了一種特殊構造的程序,並證明其無法被混淆。而這等於是在說:通用的VBB混淆是絕對不可能的。

不過,同樣是在這篇論文中,一種混淆的新型定義被提出來了——如果一對程序C1和C2具有相同的功能性,能否通過一種新的混淆算法,使第三方無法區分兩個程序的混淆結果呢?對於這樣的混淆,我們稱之為不可區分混淆(iO)。

雖然VBB不可能實現,但是通過iO,我們仍然可以非常完美地混淆一個程序。

假如我們有一個程序P,我們可以用五花八門的辦法和技巧來混淆程序,得到一個最強混淆功能卻相同的P*。同時,如果我們擁有iO,那麼完全不需要很多費勁的混淆操作,可以直接得到相同的結果,因為我們無法區分混淆後的iO(P)和iO(P*)。僅僅是給P套了一層iO,得到的結果和最強混淆過後P*的iO是一樣的。

圖片來源:知乎用戶@Steven Yue

這樣一來,如果我們想充分混淆一個程序P,使其構造不被別人發現,只需要輸出iO(P)就行了。

有了強大的不可區分混淆,我們就能完美加密已有的程序,使其永遠不會被破解。同時,由於iO密碼學完備(Crypto-Complete)的特性,我們可以輕易借其實現一系列強大的密碼學構造。

更少即是更多

2013年,沙海和五位合著者提出了一個iO協議,將程序拆成幾部分,類似拼圖,然後他們使用多線性配對來找出這些拼圖。單個碎片看上去毫無意義,但如果將碎片正確地組合到一起,程序就能正常工作。

多線性配對本質上是用多項式計算的密碼學方法——由不同變量和數字之積的加和組成的數學表達式,如3xy+2yz²。Jain表示,這些配對有點類似於一個連接著多項式計算器的密碼保險柜。用戶輸入數字,看向最後一位,看保險柜中隱藏的數值能否讓整個多項式歸零。

為了保證計劃的安全,用戶不能獲知整個過程中任何參數。但是在所有可能的多線性配對候選中,打開保險柜的過程,都透露了計算過程中應該隱藏的信息。

由於多線性配對機制全都有安全性問題,林惠嘉開始探索能否通過約束多線性配對的層數來實現iO。(這樣更容易實現安全性)四年前,她想出了如何用30層多線性配對構建iO。接下來幾年裡,她、沙海和其他研究者逐漸想出了如何只用3層多線性配對來實現iO。

表面上看,這是一個巨大的進步。但有一個問題——從安全的角度來看,3層多項式配對和其他任意層一樣不穩固。

研究人員們只知道2層及以下的多線性配對是安全的。林惠嘉與Jain和沙海聯手,試圖找出如何用2層多線性配對應設構建iO。但是,「我們被困住了很久很久。「林惠嘉這樣說。

最終,他們與加州大學聖巴巴拉分校的普拉漢漢·安納思(Prabhanjan Ananth),區塊鏈項目Concordium的克裡斯蒂安·馬特(Christian Matt)一起,想出了一個折中方案:既然iO需要三層,但計算機科學家為了安全需要二層,中間是否存在2.5層呢

研究人員設想了一個系統,其中保險柜上有窗,用戶可以看到部分密碼的值。這讓整個機制不需要隱藏太多信息。為了平衡多線性匹配的能力和二層的安全性,這個機制允許計算高於二階的多項式,但有一個限制——多項式被隱藏的變量必須不能超過二階。林惠嘉說:「我們試圖不去隱藏那麼多。」

圖片來源:quanta magazine

但是從不太強的多項式配對到iO,團隊還缺少最後一塊拼圖——一種新型的偽隨性數生成器,它能將一串隨機的數據轉換成擴展成更長,更隨機的一串。而這正是Jain,林惠嘉和沙海在新論文中想出來的。

結果是,iO協議最終避免了多項式配對的安全性漏洞。「他們的結果看起來幾乎是完美的。」康奈爾大學的拉斐爾·帕斯(Rafael Pass)說。

該方案的安全性基於四個數學假設,這些假設已經被廣泛的應用於其他加密方式中。即使是被研究最少的假設——「Learning Parity with Noise「假設——也和20世紀50年代以來一直被研究的問題有關。

很可能只有一種東西能打破新的方案——量子計算機,如果我們能造出真正的量子計算機的話。四個假設中的一個容易受到量子攻擊,但過去的幾個月裡,帕斯和其他研究者分別獨立地在論文中得到同一個結果,這一結果提供了一條不同的潛在路徑,讓iO在量子攻擊下也能確保安全。研究人員表示,相較於Jain,林惠嘉和沙海的版本,這些新版本的iO基於不太成熟的安全假設。哈佛大學的博阿茲·巴拉克(Boaz Barak)說:「但它是有可能的。這兩種嘗試可能在接下來的幾年融合,創造一種基於標準安全假設上,能抵禦量子攻擊的新版iO。

伊沙伊預測,Jain,林惠嘉和沙海的創造可能吸引新的研究者進入該領域,讓該方案更加實用並作出一些新的嘗試。他說:「一旦你知道某件事原則上是可能的,就會讓這個領域的研究者在工作時心理上好受得多。」

在協議(或者是其變體)可用於實際應用之前,計算機科學家還有許多工作要做。但研究人員表示這是意料之中的。帕斯說:「密碼學中有很多概念,當它們第一次出來的時候,人們會說:『這只是純理論,(它)與實踐無關。』然後10年20年後,Google開始實施這些計劃。」

巴拉克說,從理論突破到實際可用的協議還有很長一條路要走。「但是你可以想像。或許50年後密碼學教科書上會說,『好吧,這裡有一個很簡單的iO構造,我們能從中得到其他所有加密方式。』」他說。

感謝閱讀!

分享是一種美德,轉發是一種境界。

相關焦點

  • 幾乎無解的最強加密方法,終於被證實真的存在
    「可我一直以為iO不存在?」他說。 當時,這樣的懷疑是普遍存在的。不可區分混淆如果可以被構建,不僅能隱藏數據集,還能隱藏程序本身,從而構建一種可以實現幾乎所有其他加密協議的加密算法。但對很多計算機科學家來說,強大到如此地步讓iO看起來難以實現。
  • A股維和會直播資訊:我國成功研發超越MD5加密技術
    冷戰結束後全球化的科技競爭和經濟博弈成為了主導方向,不少發達國家就將信息安全列入國家戰略安全考慮,調集各類專家研究各種加密技術,保護其科技成果和經濟信息。通過近大半個世紀的發展達到了相對領先的水平,使信息安全更趨向完善。A股維和會直播資訊認為在5G技術和智能化高速發展的今天,以美日為主流的編碼和密碼技術(如二維碼技術、MD5技術)已廣泛應用在我國經濟、科技、醫療、航天、金融等領域。
  • 外星人存在終於被證實
    如果你親自看看這些花,就該確認外星人的存在了,外星人的存在終於得到了證實。最近,外星人的存在終於得到證實,有媒體報導說,南極洲發現了外星人基地和飛碟的碎片,甚至暴露了南極外星基地的具體位置和圖片,世界上是否有外星人?南極科學研究站的科學家們一再發現飛碟在南極南部飛行,許多人認為,在南極洲的冰層下,外星人基地的潛力很大,外星人的事件最終得到證實。
  • 關於穿越的「祖父悖論」,如今終於破解了?平行宇宙真的存在嗎?
    關於穿越的「祖父悖論」,如今終於破解了?平行宇宙真的存在嗎?古往今來,人類對於平行宇宙的探索從來沒有停止過,各種各樣以此為題的科幻小說也總是能抓住我們的好奇心。日本作家西澤保彥就寫過一篇《死了七次的男人》,主人公穿越七次想要救回自己的祖父,可無論如何百般算計都只差一點,這也讓人們思考,「祖父悖論」到底是不是一個無解的命題呢?穿越與光速古裝穿越電視劇的興起,在人們之中掀起了一股穿越的熱潮。提到穿越,就要說到一個名詞,光速。我們也經常看到這種論調,如果我們的速度能夠達到光速,那麼就可以穿越時空。
  • 量子加密技術存在缺陷?專家:客觀看待新技術
    量子加密技術存在缺陷,被破解?攻擊,是為了讓量子通信更加無懈可擊本報記者 吳長鋒近日,一篇題為「量子加密驚現破綻:上海交大團隊擊穿『最強加密之盾』」的文章在網上流傳開來。文中宣稱「現有量子加密技術可能隱藏著極為重大的缺陷」。事情原委究竟如何?
  • 外星人的存在終於被證實
    霍金去世前曾聲稱外星人存在,並用理論證明!如今又曝出美國高層正面接觸外星人,看來外星人存在終於被證實了!多位科學家終於承認,外星人確實存在!直到40年後,即1989年11月末,才有一位科學家出來證實此事。這位科學家曾參與外星人屍體處理工作。他說,有4具外星人屍體一直保存在俄亥俄州的空軍基地裡。
  • 潘建偉等5位科學家回應「量子加密技術存重大缺陷」| 科技早頭條
    關注環球科學周一至周五早8點我們為你準時送上最新鮮的全球科技資訊
  • 最新宇宙學研究發現最強暗能量存在的新證據
    最新宇宙學研究發現最強暗能量存在的新證據 陸成寬/科技日報 2020-07-21 08:11
  • 鋼軀+AES256,元谷科技DM250按鍵加密移動硬碟上市
    鋼軀+AES256,元谷科技DM250按鍵加密移動硬碟上市 高速、交互的資訊時代,個人和企業數據都越來越青睞以電子檔的形式保存,除了電腦之外,手機、平板中同樣存儲著用戶大量的重要數據
  • 盤點世界十大外星人事件 外星人存在終於被證實
    盤點世界十大外星人事件 外星人存在終於被證實最新研究稱,地球人類的文明可能源於萬年冰雪覆蓋的南極大陸,而目前南極大陸則是外星人在地球上的基地,南極洲外星人基地一經曝光便引起了極大的轟動,因為之前有說法認為中國人是外星人祖先,下面我們一起來看看吧。以下內容未考證其真實性,僅作大家茶餘飯後娛樂之資。
  • 一道無解的數學難題,解決了古希臘提洛島的政治問題
    某甲擔任曲棍球理事長有沒有貪汙這種事,只能調查後證實或推翻貪汙這指控是否成立,在數學人眼中,除非定義完備,應該無法辯證事實的真假,所以也無法用發誓來做賭注。當然,這有一些文化觀點要解釋,發誓在西方文化是一種見證永恆或(絕對、唯一)真理的方式,但在道教當中,或許只是一種表示膽識的方法。不過,到底一個人吞了曲棍球會怎麼樣?
  • 混淆程序:代碼最安全的加密方式
    本文轉自【科技日報】;幾十年來,計算機科學家一直都想驗證是否存在絕對安全的方法來加密電腦程式,讓人們在使用計算機的同時卻無法破解其程序。 在2020年底,幾位學者成功找到了一種加密方式,讓計算機用戶無法通過獲取代碼破解程序。
  • 人生無解
    全靠靈感,要不真的弄半天也扣不出一個字,白白浪費時間。天時,地利和人和湊一塊就有,真的齊活。言歸正傳,今天用個四字成語形容,真的是焦頭爛額。找不到北。一頓搜索加實戰,在實戰中不斷改進,終於完成,問題解決。還,有感發。記得那是從小學起,只要做作業,我就想著有答案,這樣問題解決快,心情還舒暢,何樂不為。壞習慣養成後,真的沒耐心去改變,找答案成了自己的必殺技。
  • 小白科普文丨加密貨幣錢包由什麼組成 有什麼值得推薦的數字加密...
    12月11日上午,以太坊創始人V神在拉丁美洲比特幣會議上表示:錢包的安全性仍是加密領域最大的問題之一。他認為,數字加密貨幣錢包還是很難使用,這使得它們對非技術用戶來說有些不安全,大規模採用加密貨幣時可能會帶來麻煩。
  • 一周科技隨我探 | 奔向火星,中國深空探測踏上新徵程;暗能量真的存在
    為尋找相關科學證據,堪薩斯州立大學生物安全研究所的研究團隊進行了針對性實驗研究,並最終證實:新冠病毒無法在蚊子中複製,蚊子不會成為該病毒的傳播媒介!文章連結:http://stdaily.com/guoji/zongbian/2020-07/22/content_976014.shtml科學新知暗能量真的存在!據宇宙學家所知,宇宙膨脹不斷加速的背後,隱藏著一種我們稱之為「暗能量」的力量。
  • 古人早已識破月球秘密,無奈沒人相信,如今終於證實是真的
    隨著人類登月的成功,月球上的一些秘密終於浮出水面。然而,在這裡我講的可能顛覆你的認知:月球的秘密其實古人早已堪破,只是當時沒人相信罷了。在中國古代,關於月亮,有一個流傳廣泛的傳說,在神話傳說中,月亮被稱為「廣寒宮」,嫦娥就住在廣寒宮中,月亮上還有桂花樹。
  • 三體生命真的存在嗎?當三體星被證實存在後,科學家為此展開辯論
    不過,藉助位於智利的新一代光譜儀ESPRESSO,科學家們終於證實了這顆行星的存在,並且在《天文學和天體物理學》上對外公布了這一結果。不過,由於比鄰星本身是一顆非常暗弱的紅矮星,質量不足太陽的1/8,表面溫度3042K也幾乎只有太陽的一半。因此,即便比鄰星b如此靠近宿主恆星,只有日地距離(約1.5億公裡)的1/20,但它所接收到的能量竟然和我們地球差不多。
  • 真的存在外星人?美中情局文件遭曝光,美網友:又想轉移注意力
    自古以來,人類對宇宙一直存在強烈好奇心,所以才會研發各種火箭飛船前往宇宙探險。不僅為了更好地了解我們生存的宇宙,也是為了弄清楚一個關鍵問題,宇宙中是否存在其他生物,也就是所謂的外星人。在此之前,世界各地多次出現過疑似「UFO」的不明飛行物,為外星人存在論增添更多可信度。
  • 「三體問題」是否真的無解?
    17世紀時牛頓就提出了三體問題,採用簡單的方法預測三個圍繞彼此旋轉的天體運動路徑讓物理學家大傷腦筋,伴隨科技的發展,使用人工智慧技術,即刻便可解決這一問題。我們先來了解一下什麼是三體問題?三體問題(three-body problem)是天體力學中的基本力學模型。
  • 五個無解的宇宙終極秘密,每個都讓科學家無比絕望
    著名天文學家馬丁·裡斯認為,由於人類大腦存在某種局限性,宇宙中有些謎團我們或許永遠也無法解開。當然了,如果拋開那些尚且虛無縹緲的問題和可能,只說人類現在已經發現的問題的話,還是能找到五個無解的宇宙終極秘密,而它們幾乎每個都讓科學家束手無策和無比絕望。