論文筆記:全同態加密研究進展-白利芳等

論文筆記:全同態加密研究進展-白利芳等

同態加密–概念

同態性

給定2個代數結構間的映射,\(\delta: A \to B\),滿足\(\delta(x *_A y)=\delta(x) *_B \delta(y)\),這裏這種映射\(\delta\)就可以看作是同態加密中的“加密”操作,即明文進行\(*_A\)計算,加密後相當於密文進行\(*_B\)計算,所以可以說:代數結構\(<A,*_A>\)\(<B,*_B>\)在該映射(\(\delta\))下相關結構(明對明文操作加密後對應於密文操作)保持不變。

同態可以理解爲:2個代數結構(如羣、環、域、向量空間)之間的保持結構不變的映射,直觀一點可以用交換圖表示。

如下圖1,“先右再下”和“先下再右”這兩種途徑都可以得到\(B\),即對任意的\(x,y\in A\),“先\(*_A\)運算再\(\delta\)映射”與“先\(\delta\)映射再\(*_B\)運算”的結果相同,即滿足交換性

image-20231224130519778

例如,當\(\delta\)\(x \to e^x\)時,交換圖如圖2所示,即\(A\)\(\mathbb{R}\)(實數集合),\(B\)\(\mathbb{R^+}\)(大於0的實數集合),\(*_A\)\(+\)\(*_B\)\(*\)

若以”同態加密“的視角看待,則\(A\)表示明文,\(b\)表示密文,\(\delta\)表示加密映射,整體結構解釋爲:明文之間進行\(+\)操作後,加密等同於 密文之間進行\(*\)操作

這也就解釋了同態加密中,明文間做加法,加密後不一定等於密文間做加法,因爲\(*_A\)不一定等於\(*_B\)。如Paillier的加法同態性:\(E(A)*E(B)=E(A+B)\)

同態加密

同態加密是指滿足同態性質的加密算法,即該加密算法的密文空間和明文空間之間的映射(解密函數)對特定運算滿足同態性(一般我們都說的時加密函數)。所以同態加密支持對密文空間進行特定功能的運算(如函數\(f()\)),且解密後的結果與直接對明文空間進行對應運算(不一定相同)的結果相同,若\(f()\)只能由加法構成,即只支持加法運算,稱爲加法同態性,乘法同態性也如此。

此處的加法和乘法不等同於加減乘除中的“加減”法,而是一般性表達,如布爾函數中的“與(AND)”和”異或(XOR)“分別對應此處的乘法和加法。

事實上,任意邏輯運算均可通過AND和XOR運算組合表達,就如同任意算法運算均可通過加法和乘法組合表達

分類

  • 部分同態加密(PHE)

僅支持加法或乘法運算的加密方案成爲部分同態加密。

  • 近似同態加密(SHE)

若運算\(f()\)由加法和乘法構成,但支持有限次運算的加密方案,成爲近似同態加密。

  • 全同態加密(FHE)

同時滿足加法同態和乘法同態,且支持在密文域上做任意運算(不限次數,任意運算都可以用加法和乘法構造)的加密算法時全同態加密。

  • 層次同態加密(Leveled-FHE)

若支持一定複雜度(用電路形式表示時爲電路深度的大小)範圍內(即電路深度不應該超過某個值\(L\))的任意運算(由加法和乘法任意構成)的加密方案稱爲層次全同態加密。

現大多是將SHE歸爲Leveled-FHE。

特性

  • 緊湊性

對於任意的安全參數$\lambda \(,若存在一個多項式P,使得解密算法能夠用一個規模至多是\)P \lambda\(的電路\)D$來表示,則稱該方案是緊湊的。

若方案是緊湊的,則方案的解密電路是獨立於\(t\)(參與同態計算的密文個數)和\(C\)(計算電路)。

  • 安全性

若敵手無法區分0和1的密文,則方案是不可區分選擇明文攻擊安全(IND-CPA)的。

構造思路

同態加密方案構造首要考慮:同態性和安全性兩點。

【Homomorphic Encryption: From Private-Key to Public-Key】中給出一種通用方法,可將明文空間爲0,1的任意滿足語義安全的私鑰同態加密方案(對稱)轉換爲滿足語義安全的公鑰加密方案。

全同態加密方案的構造重點在於實現密文域上任意次數的加法和乘法同態運算,一般是先構造SHE方案,隨着密文計算次數越多,噪音越大,直到超過“臨界”值後會解密失敗,因此也可叫做有限次(層次)同態加密。然後將SHE方案轉換爲FHE方案是關鍵,目前唯一的方式還是”自舉“。

自舉

自舉就是同態的執行解密電路,即Eval函數可運行方案自身的解密電流,如下圖,將密文刷新(”解密“)爲一個噪音更低的”新鮮“密文,以此繼續執行同態計算,但因爲同態的執行解密電路也是在密文域下,也會產生噪音,所以要求解密電路的深度要小於起初SHE方案所允許的密文計算深度

image-20231224181055482

當解密電路的深度不小於方案所允許的密文計算深度時,就需要降低其深度,Gentry09中給出了”壓縮(Squashing)“技術實現,代價是基於一個(未證明的)安全性假設-稀疏子集和問題(SSSP)。但目前同態方案已能夠運行自身的解密電路,如BGV12、Bra12等。

同態解密

自舉的關鍵是同態解密,即在密文空間下執行解密函數,即用加密的私鑰去解密加密後的密文,輸出一個噪音更小的”新鮮“密文。下面爲Gentry09的同態解密思路:

明文空間爲0,1,即明文是單比特,給定兩個不同的公私鑰對\((pk_1,sk_1)\)\((pk_2,sk_2)\)

  • 用戶加密明文消息\(m\),並將密文\(c=Enc_{pk_1}(m)\)發給服務器。
  • 用戶用\(pk_2\)\(sk_1\)進行逐比特加密,得到密文序列\(\overline{sk_1}=Enc(pk_2,sk_1)\),併發送服務器。
  • 服務器用\(pk_2\)對密文\(c\)進行逐比特加密,得到密文序列\(\overline{c}=Enc_{pk_2}(c)\)(雙重加密的密文)。
  • 服務器用\(\overline{sk_1}\)同態解密雙重加密的密文,如下圖,即(對密文\(\overline{c}\)執行解密計算,相當於對應明文\(c\)執行解密計算後,再加密):\(c*=Eval(Dec,pk_2,\overline{c},\overline{sk_1})=Enc_{pk_2}(Dec_{sk_1}(c))=Enc_{pk_2}(m)\)

image-20231224185838745

同態加密中私鑰被加密後作爲公共參數給予公開,並作爲Eval函數的輸入,因此被稱爲”計算公鑰“,一般被叫做Eval-key

全同態加密方案

當前FHE方案基於的困難假設有兩種:

(1)基於格上的困難問題,如LWE、RLWE等。

(2)整數上的基於近似最大公約數(AGCD)困難問題,如regev方案。

下面是經典FHE方案的分類和繼承關係(框內爲基於格上困難問題的方案):

image-20231224194851536

不完全FHE

把只滿足加法同態性或乘法同態性,以及SHE方案統稱爲不完全FHE,下圖是一些統計:

image-20231224195443283

  • 疑問:
    • 當前的HE方案大多是公鑰密碼方案,那安全的對稱加密方案研究如何?
    • Paillier爲何只能進行1次乘法運算,也是有噪音?

基於理想格的FHE(第1代)

基於理想格的FHE,”理想格“只是一種結構,不是困難問題。Gentry09的構造過程:

  • 先基於理想格構造一個SHE,安全性基於固定環上的理想格的CVP問題。
  • 通過壓縮(Squashing)解密電路,來降低解密電路的計算深度,使其能夠自舉,安全性依賴於SSSP假設。
  • 通過同態解密實現自舉,進而實現全同態(”無限制“的計算)。

Gentry09及對其諸多改進版等,即第一代FHE的不足:

  • 構造FHE方案較爲複雜,不易理解。
  • 噪音增長速度和密文膨脹速度較快,且自舉性能太差。
  • 方案可以全同態,全靠自舉實現,自舉有全靠壓縮解密算路實現,額外的壓縮解密電路會降低方案性能,且依賴的SSSP假設未經證實安全性。

基於(R)LWE的FHE(第2代)

關鍵發展節點:

  • 2011年,提出BV11a:SHE方案是基於LPR10提出的公公鑰加密方案實現,密鑰生成時無需生成格基,安全性量子規約到理想格上的最壞情形問題,方案後續的解密電路壓縮和自舉仍然沿用Gentry09的方法。
  • 2011年,提出BV11b:SHE方案採用重現性化(relinearization)技術,基於regev05構造,安全性規約到任意格上的SVP問題,不再採用Gentry09中的解密電路方法,提出一種新的維數-模數約減(dimension-modulus reduction)方法使方案可自舉,這樣就無需引入額外的安全假設(SSSP),以及提出一種模交換(modulus switching)技術來控制密文噪音的膨脹,且降噪無需使用第1代方案中的“計算公鑰”。
  • 2012年,提出BGV12:方案的參數大小與同態運算電路的深度而非階數(degree)有關,提出密鑰交換(key switching)技術控制密文維數膨脹,並證實BV11b中提出的模交換技術可在不借助自舉程序的情況下實現密文降噪,使得LFHE方案的構造無需依賴Gentry09的自舉程序。
    • BGV12方案中的密鑰交換需藉助兩個子算法:比特分解算法(BitDecomp)2的冪次算法(Powerof 2)實現。

image-20231226225046142

image-20231226225240207

image-20231226225401500

  • 2012年,提出Bra12:利用張量乘積(scale-invariant)技術構造一個標度不變的FHE方案,無需複雜的模交換技術即可使得密文噪聲隨同態計算呈線性增長而非此前方案的指數級增長,安全性基於GapSVP問題。
  • 2012年,提出BFV12:對Bra12進行優化,將其推廣到RLWE問題假設,確定SHE方案應能處理的最小電路深度,確保自舉過程結束後還能處理1次乘法運算,從而實現全同態。還提出2個更優的重現性化版本使得密鑰更小運算速度更快。
  • SV11首次提出基於RLWE的FHE方案且支持SIMD操作
  • GHS12採用SV11的密文封裝技術實現基於BGV的方案的SIMD操作,即可通過將多明文比特消息封裝在每個密文的多個槽(slot)中進行批處理,利用自同構性質對各個槽進行置換,如此各個槽中的數據可以互相於是暖。

第2代相較第1代的改進之處:

  1. SHE方案構造基於LWE問題假設,不直接依賴於格,但安全性可量子歸約到任意格上最壞情形困難問題上。
  2. 實現自舉無需引入額外安全性假設,即無需壓縮解密電路。
  3. 可不依賴自舉獲得LFHE方案。
  4. 可以處理封裝的密文而不只是一個明文比特的密文(支持SIMD操作)。

侷限性:

  1. 增加了存儲開銷。密鑰交換時密鑰尺寸膨脹。
  2. 安全假設強度過大。
  3. 方案若想支持任意次同臺計算,仍需藉助自舉技術。

基於近似特徵向量的FHE(第3代)

2013年,GSW方案出現,基於近似特徵向量的FHE,首次實現了基於身份的FHE基於屬性的FHE。其中同態運算爲簡單的矩陣加法和乘法運算,(因乘法運算不會導致維度膨脹),所以解決了密文維數膨脹的問題,且通過對噪聲項中的高範數矩陣分解爲低範數二進制比特矩陣。有效控制噪聲增長,但實現全同態仍需自舉程序。

後續都是針對GSW方案進行優化:

  • 2014年,DM14方案將自舉時間降到1s以下。
  • 2016年,GINX16方案將自舉時間更是降到0.1s以下。
  • AP自舉和GINX自舉成爲第3代FHE方案的主流自舉方法:
    • AP自舉:支持任意密鑰分發。
    • GINX自舉:需要更小的同態計算密鑰。

第3代相較第1代的改進之處:

  1. 同態運算更加高效(矩陣加法和乘法),不會引起密文維度膨脹。
  2. 密文噪音控制更加簡潔高效,無需藉助模交換技術控制噪音。
  3. 因爲無需密鑰交換,所以擺脫了對計算公鑰的依賴。
  4. 自舉性能和構造簡潔性有極大提升。

侷限性:

  1. 不支持SIMD操作。
  2. 自舉依賴的安全假設強度有所弱化。
  3. 若要實現全同態,仍需要自舉技術。

基於浮點數運算的FHE(第4代)

2017年,CKKS方案,通過重縮放(rescaling)技術,在保證計算精度的同時降低密文模數大小,並使用批處理技術提高方案計算效率,但該方案是SHE方案。

後續優化都是基於CKKS方案開展,比較經典的是RNS-CKKS方案,實現自舉,進而達到FHE。

CKKS的構造是基於BGV方案,只不過是針對浮點數運算。關於CKKS的優化點:自舉程序的性能和精確度方面,以及降低計算和通信開銷方面

目前最新的自舉性能表現爲每比特微妙級,較第1代的每比特千秒級,性能提升了9個數量級。

其他FHE方案

基於整數的

2010年,DGHV10方案,用整數模運算代替了格上覆雜的矩陣和向量運算,方案完全遵循Gentry09思路,SHE方案依賴於AGCD困難假設。

後續的都是對DGHV的改造優化。

基於NTRU的

NTRU加密算法密鑰生成容易,加密和解密速度比RSA、ECC快,安全性依賴於格上SVP問題,因此也被用來構造基於NTRU的FHE。

總結

image-20231226234842023

FHE的安全性:

目前大多FHE方案依賴於格上的困難問題,由於FHE具備密文上同態運算的屬性,就意味着延展性,因此FHE體制不可能抵抗適應性選擇密文攻擊(IND-CCA2安全)

目前大多FHE方案只給出了抵抗適應性選擇明文攻擊(IND-CPA安全)。

全同態加密應用進展

算法庫

image-20231227185417995

image-20231227185744634

標準

  1. 2017年,首個專注於 FHE 標準化的自發性組織—— 同態加密標準化開放聯盟成立,併發布了全同態加密安全標準、API 標準、應用標準 3 份白皮書。
  2. FHE 標準草案於2018 年3月發佈,並於11月更新,目前最新版本爲1.1,即11月的更新版本。

應用場景

技術賦能應用

  • 雲計算
  • 大數據
  • 人工智能
  • 區塊鏈

行業場景應用

  • 金融-信貸風控
  • 互聯網-私有信息處理
  • 醫療-基因數據分析
  • 能源-電網數據分析
  • 政府-電子選舉:2019 年,微軟於 Build 開發者大會上發佈了1款基於同態加密的開源電票開發包Electionguard

未來研究方向

  • 性能優化
    • 提升自舉效率
      • 減緩密文噪音膨脹的速度以實現更低頻度的自舉程序調用
      • 每次自舉程序調用可以“支撐”更深電路的同態運算
    • 支持多比特處理
    • 硬件加速
  • 安全性證明:FHE體制達不到IND-CCA2安全,目前方案大多是IND-CPA安全。
  • FHE方案切換:一個方案的密文切換到另一個方案的密文
  • 新的構造思路
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章