全同態加密-丁津泰:學習

本文學習丁老師寫的同態加密的文章,做些筆記。

引言

image
image

  • 同態加密適用於雲計算。
  • 因爲任意計算都可以由加法和乘法構成,全同態意味着計算函數\(f\)可以是任意計算操作(任意次加法和乘法)。
  • 同態加密,起源於“隱私同態”的概念,但並未給出具體實現;後續提出一些部分同態性的方案,比如乘法同態(RSA、ElGamal),加法同態(Paillier,GGH),一次乘法和任意次加法(BGN);全同態的概念和實現是Gentry09中提出。

留個疑問:爲什麼只能計算一次乘法,多次會解密錯誤麼?

發展

image
image

  • 評估函數,就是對密文計算的函數,底層實現是通過一系列邏輯門電路(AND門、OR門、NOT門等)。
  • 電路深度(乘法次數),就是電路中布爾門的個數,具體講就是從輸入到輸出的最長路徑上布爾門的個數,能計算任意深度的門電路,就實現了全同態。
  • 同態計算最大的問題:隨着密文的計算,噪聲變大(加法,噪聲加倍;乘法,噪聲平方),若超過界限則會影響最後的解密結果,爲了能正確解密,需要限制密文運算次數依次限制噪聲的積累,這也就是Leveled-FHE。
  • 如何減少電路勝讀的限制?方法:當噪音快到到臨界值時,解密數據,再重新加密,這樣可以將噪音恢復到初始低水平,這就是自舉技術最初構造的思路。但這樣解密需要私鑰,又不能泄漏私鑰,所以解密所需的也需要加密。
  • 如果不超過電路深度所能接受的噪音界限,那麼評估函數(計算函數)就可以進行人已計算,所以可以利用評估函數調用解密函數,所以這裏給評估函數的密鑰也是加密的。
  • 自舉的原理,可以用工匠在箱子中製作寶石的例子來說明,具體的可以分成重加密和刷新密文兩步,這樣就能實現真正的全同態,這也是目前能實現真正FHE的唯一方法。
  • 自舉是建立在這樣的假設之上:解密電路本身足夠淺(解密電路所產生的的噪音不會超過噪音閾值),但在實際中,使用評估函數調用解密函數時,噪音依舊會增加,可能會超過噪音閾值,這裏使用“擠壓解密(squashing decrypt)”的方法解決,但會使得密鑰變長變複雜。
  • 設計全同態的架構:先設計Leveled-FHE,再通過自舉完成FHE。
  • 全同態加密大多是公鑰加密,也有對稱加密,其中方案的安全性大多依賴於數據難題,其中RSA依賴於大素數難分解問題、Gentry09基於理想格上的困難問題,比如CVP問題和SVP問題等、DGHV10是基於AGCD問題、BV11和GSW等基於LWE問題、BGV和BFV等是基於RLWE問題。
  • BGV12方案比較經典的原因在:基於RLWE問題(LWE問題變體)、採用不同的方法降噪,即在每一步計算(乘法)後漸增式的調整系統參數來防止噪音達到閾值,由此實現第一個Leveled-FHE方案。

抗量子攻擊

image

  • 全同態加密方案,一般選擇儘可能大的參數,來確保方案的安全性。
  • 基於LWE問題設計的全同態方案,能抵抗常規計算機的攻擊,也能抵抗量子計算機的攻擊,前提是選擇合適的參數。
  • 基於RLWE問題設計的全同態方案,安全性是更加確定的,但基於一個假設:在理想格中求解密鑰的格是困難的,該假設只是推測,目前並不能證明。

應用

image
image

  • 全同態加密缺點:爲了保證安全性,1Bit的明文加密後,會膨脹爲幾KBit甚至幾MBit的數據量,且加密時使用的公鑰也是“巨大的”,會達到幾MB甚至幾GB;
  • 爲了提升效率,提出多比特加密,分組加密,明文打包等技術,提升加密效率,減少開銷。
  • 同態加密的應用:在線醫療、金融股票、廣告投放、郵件垃圾過濾等。

競爭

image
image

  • 基於LWE問題設計的方案,可以在硬件上優化,提升方案效率。

總結

image

  • 同態加密並不實用,使用昂貴,但具有研究意義,對未來影響很大,就像剛開始的電、電話、計算機等一樣,不斷優化,普及開就能對社會產生重大影響。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章