同態加密


同態加密是指這樣一種加密函數,對明文進行環上的加法和乘法運算再加密,與加密后對密文進行相應的運算,結果是等價的。

全同態加密是指同時滿足加同態和乘同態性質,可以進行任意多次加和乘運算的加密函數。用數學公式來表達,即Dec(f(En(m1),En(m2),…,En(mk)))=f(m1,m2,…,mk),或寫成:f(En(m1),En(m2),…,En(mk))=En(f(m1,m2,…,mk)),如果f是任意函數,稱為全同態加密。

加法同態,如果存在有效算法⊕,E(x+y)=E(x)⊕E(y)或者 x+y=D(E(x)⊕E(y))成立,並且不泄漏 x 和 y。
乘法同態,如果存在有效算法 ,E(x×y)=E(x) E(y)或者 xy=D(E(x) E(y))成立,並且不泄漏 x 和 y。
 
加密就是將消息或原始信息,用數學方法打亂,然后將其保存或傳遞給另一方,后者將使用另一種數學方法對信息進行解密並讀取它。理想情況下,加密可以增加數據的安全性,因為只有我們授權的人可以讀取消息。信息在解密之前都是很難辨認的,一旦加密后,則只有給定密鑰才可以解密。雖然不同形式的加密已存在幾個世紀,但它仍然是有效果的:加密的數據一定比不加密的數據安全得多,哪怕是在防火牆和殺毒軟件之后也一樣。加密是保護您的數據避免第三方窺探的方法,就像你的網上購物車里,填滿了商品。
 
Gentry發現了一個方法:Boostrapping,該方法我把它稱之為:同態解密。(他為什么可以構造全同態加密方案呢)
這個方法的作用是約減噪音。因為格上加密法案是噪音方案,即在密文中含有噪音,所以每次密文計算后,噪音都會增加,尤其是密文乘法導致噪音增長的非常快。即使你構造了一個具有同態性的加密方案,由於噪音增長,導致無法獲得同態性。因此,約減密文計算后的噪音變得異常關鍵。當然在此之前應該構造一個具有同態性的方案
 
Gentry是在格上首先構造一個具有同態性的加密方案,該方案能夠做加法,也能夠做乘法,但是只能做有限次的乘法。為什么呢?因為噪音的增長。噪音增長太快,使得無法繼續密文計算。這樣的方案稱為:有限同態加密方案(Somewhat HE)。

 

如果想做更多的計算,怎么辦呢?約減噪音,我想連小孩都會的有的常規想法。路線並不新穎,不知道是否讓你失望了。關鍵是怎么約減?

Gentry觀察到一個現象:如果解密的時候,輸入的不是密文,而是對密文加密后的密文,同樣,不是解密密鑰,而是加密后的密鑰,解密會輸出什么東西呢?

答案:一個新的密文,該新密文依然是對原明文的加密。最重要的是新密文的噪音總是恆定的。

說到這里,你反應過來了么。這意味着每次密文計算后,如果使用同態解密操作,將會輸出一個噪音恆定的新密文,這個新密文可以繼續計算,計算后再同態解密,再計算,周而復始,無窮盡也,所謂任意計算實現了。

 

把密文再加密,密鑰再加密后,輸入到解密函數中,輸出新的密文,這個方法就是Boostrapping技術,即:同態解密

 

Gentry構造的加密方案中,解密電路的深度太深,導致無法同態解密。為此,Gentry又發明出一個方法:壓縮電路,將解密電路的復雜度降低,使得可以同態執行解密電路。你說復雜不復雜。

隨后人們遵循Gentry 的思想提出了整數上的,小主理想上的,而且還進行了實現。但是依然很復雜。

然而,2012年有一個人Brakerski將全同態加密推上了頂峰,使之變的簡單了,而且將全同態加密構件建在LWE問題之上。

LWE問題是一個格上的平均性困難問題,可以被歸約到格上標准困難問題。也是抗量子的。目前主流的格上加密方案都是構建在LWE之上。

由於使用Boostrapping實現任意計算代價太高,而且現實中並不太需要任意計算,所以退而求其次,如果能夠執行多項式深度的同態計算,也是能夠滿足大多數需求的。所以隨后的LWE上的全同態加密不使用Boostrapping技術約減噪音,而是使用其它噪音約減技術,使得能夠進行多項式深度的密文計算,代價大大降低了。

總之,目前只有在格上建立的全同態加密方案是安全的。建立的方法就是首先建立一個有限同態加密方案(SWHE),然后使用噪音約減技術,使之成為一個能夠執行多項式深度同態計算的方案,稱之為層次型全同態加密。

全同態加密的效率也是飛速提高,目前執行一次乘法在毫秒級,密文與明文之比約為10^2。微軟去年初在人工神經網絡上執行密文計算,效果是令人滿意的。

全同態加密目前處在工程化研究階段,相信全同態加密很快就會進入實踐。

 

基於理想格提出一個全同態加密方案

理想格為何物?通俗的說就是一種困難問題,就像大整數難題一樣。

所謂的格(Lattice)就是整系數基的線性組合構成的點,通俗地說就是一個空間中的一些離散有規律的點。既然是離散的點,那么點之間一定有距離,距離產生美,從而產生了一些困難問題,例如:最短向量問題(SVP)。

 
 

 

 

如果是一個二維平面,那么尋找在格上尋找最短向量問題是簡單的,但是當維數變大的時候,例如200多維,尋找格上的最短向量問題就變的異常困難,稱之為格上標准困難問題,是一個指數級的困難問題。你可以想象一下,當你在迷宮里時(現實世界是3維的),找出口還不算很困難,但是當在一個200多維的迷宮里時,困難程度立刻指數級上升。

最令人感興趣的是,格上標准困難問題至今沒有量子算法可以破解或者撼動它,因此格上標准困難問題被認為是抗量子的。

格上的加密方案最大特征:是一個含有噪音的方案。加密時往里添加噪音,主要是為了進一步提高安全性。然而恰好是這個噪音,導致加密的形式與解密形式比較簡單。這種特性為構造全同態加密埋下了伏筆。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM