1. 程式人生 > >什麼是全同態加密?

什麼是全同態加密?

全同態加密屬於密碼學領域。由於全同態加密支援無需解密,就能夠對密文進行任意計算,因此可以立竿見影的解決資料隱私安全問題,有很大的應用需求。例如,在雲環境下,使用者加密資料後儲存在雲端,由於資料加密使得雲端無法獲得資料的內容,從而保證了資料的隱私。此外,由於是全同態加密,雲端可以對密文資料進行任意計算。總而言之,全同態加密不但通過加密保護了資料,而且沒有喪失計算性。

這麼好的性質到哪裡找呀!?

全同態加密的概念早在1978年就提出,然後一找就是30多年過去了。當然這30多年也沒閒著,30年間人們提出的方案隨後就被證明是不安全的。

1

當然在這30年間,人們也退而求其次,能做一次加法和一次乘法的也可以,例如c1c2+c3c4,即一個二次多項式。這樣的方案稱為BGN方案。

當然再退而求其次,就是隻能做加法,或者只能做乘法,這種方案稱為單同態。例如,RSA就是乘法同態,Paillier就是加法同態。這些方案在有些地方大放異彩,儘管只能做一種同態計算。

直到2009年,Gentry,一個斯坦福大學的博士生,基於理想格提出一個全同態加密方案。Craig Gentry. Fully Homomorphic Encryption Using Ideal Lattices. In the 41st ACM Symposium on Theory of Computing (STOC), 2009. 這篇論文是來自於他的博士論文:Craig Gentry. A Fully Homomorphic Encryption Scheme (Ph.D. thesis).

2

世界譁然。各大報紙頭條,密碼學界的突破(Breakthrough),計算機界的突破。英文中Breakthrough可不是隨便用的。

最為湊巧的是,09年左右恰好是雲端計算概念火熱的時候。而所有介紹全同態加密的文章開頭都會來一句,全同態加密用在雲端計算中可以保護資料隱私安全。誰催化了誰,真的不知道。

Gentry的全同態加密方案是基於理想格構造的。理想格為何物?通俗的說就是一種困難問題,就像大整數難題一樣。

說到這裡,不得不說兩句格密碼。很多人只知道RSA,ECC,但是提起格密碼一臉的茫然與恐懼,覺得格密碼一定是一個很難理解的問題。事實上,恰好相反,所謂的格(Lattice)就是整係數基的線性組合構成的點,通俗地說就是一個空間中的一些離散有規律的點。既然是離散的點,那麼點之間一定有距離,距離產生美,從而產生了一些困難問題,例如:最短向量問題(SVP)。

3

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

 

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

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