2018年,加利福尼亞大學洛杉磯分校的研究生Aayush Jain前往日本發表了演講,介紹他和同事正在開發的強大加密工具——不可區分的混淆技術(indistinguishability obfuscation,簡稱iO)時,一位聽眾感到困惑。
「但是iO不是不應存在的嗎?」他說。
當時,懷疑是普遍的。如果可以建立不可區分性混淆,則不僅可以隱藏數據集合,還可以隱藏電腦程式本身的內部機理,從而創建出一種加密主工具,再從中構建幾乎所有其他加密協議。哈佛大學的Boaz Barak解釋說,io是「一種可以統治全部密碼的 原語」。但是對於計算機科學家來說,io好到不真實,就像是永動機或常溫核聚變一樣,很難相信它是可實現的技術。
計算機科學家從2013年開始不時提出iO的候選版本。但是,隨著其他研究人員逐一攻破其安全性,最開始的強烈興奮感逐漸消失了。以色列的海法理工學院的Yuval Ishai說,隨著反例增加,「您會看到很多負面情緒。」
加利福尼亞大學伯克利分校西蒙斯計算理論研究所所長Shafi Goldwasser說:「有些人是狂熱者,他們相信[iO],並一直在努力。」但是隨著歲月的流逝,「這些人越來越少。」
現在,Jain、華盛頓大學的Huijia Lin 和加州大學洛杉磯分校的Amit Sahai一起為密碼學(理論)新王加冕。在8月18日在線發布的論文中,這三名研究人員首次展示了如何僅使用「標準」安全性假設來建立不可區分性混淆。
所有密碼協議都基於基本假定——某些協議(如著名的RSA算法)取決於廣泛的信念,即標準計算機永遠無法快速分解兩個大質數的乘積。加密協議的安全性僅取決於其假設,先前嘗試構建的iO是建立在未經測試且最終不穩定的基礎假定上的。現在則相反,新協議取決於已被廣泛使用和研究的安全性假定。
儘管該協議尚未準備好在實際應用中部署,但從理論上講,它提供了一種即時的方法來構建一系列以前無法實現的加密工具。例如,它可以創建「可拒絕的」加密,在其中您可以合理地使攻擊者相信,您發送的消息與實際發送的消息完全不同,而在「功能性」加密中,您可以為選定的用戶提供不同的級別數據訪問權限。
Ishai說,最新論文將使iO懷疑論者徹底沉默。「現在,對於io的存在將不再有任何疑問,這似乎是一個幸福的結局。」
稍微解釋一下裡面的術語。
代碼混淆技術Obfuscation techniques(被病毒製作者大量使用於躲避防病毒掃描程序的檢測),最便於理解的方式似乎就是舉例了。
最常見的植入死碼
https://pan刪除.baidu.com/shar連結e/init?surl=中sIm的lsSOT6cvEVL8漢字KNdA
其它還有註冊表重新分配,代碼置換等。一般來說,就是把代碼變得極為不可讀,但同時卻可以運行的技術。
程序混淆(program obfuscation),用於保護軟體不被破解的技術。比如說,現在有兩個程序,如果把它們混淆在一起,則不應有任何計算方式能夠再把它們區分開來——當然,同時要保證自身的功能不變。所以對於黑客而言,想要破解單一程序的運算量大增,而且即便能夠破解成功,得到也不是原本的程序,而是兩個程序混淆後的複雜系統。
手法與前面的類似,密碼學混淆:將密文與密鑰之間的統計關係變得儘可能複雜,使得黑客即使獲取了關於密文的統計特性,也無法反推密鑰。
在密碼學混淆里,理論上最強大技術叫黑箱混淆器(black box obfuscator),但早在2001年,經過數學論證,它是不可能實現的東西。
2013年,美國加州大學洛杉磯分校的Sahai教授等人提出了不可區分性混淆技術,其基本思想是把程序轉換為一種多線性拼圖遊戲(multilinear jigsaw puzzle),從而將混淆技術的安全性轉化為數學中格論領域裡的難題。不可區分性混淆就是比完美(因此在數學上無法成立)的黑箱混淆器略遜一籌。
現在,同樣是Sahai教授等人,證明「不可區分的混淆」是可實現的。
理論價值先放一邊,應用價值往小了說,起碼和現代公共密鑰體系相當。
同時,雖然說是在密碼學裡建立的關於密碼體制和協議的不可區分性混淆,但講道理也可以用在程序上。
PS:本文的左側被植入了一個
zark
@17小時 AGO
相當諷刺,jandan的這個上一篇按鈕,因為上一篇標題有個特殊符號未轉義,導致html結構被破壞;而上一篇的內容,講的也是一個名字里還有特殊字符的公司,被迫改名的情況。
文章來源: https://twgreatdaily.com/zh/JsSHwXUBxV5JH8q_vLsu.html