課程筆記:全同態加密理論與基礎

本節學習“課程筆記:“全同態加密理論與基礎”,記錄一些學習心得。

加密方案和安全分析

一次一密

image

image

公鑰加密

image

  • 一次一密適用於對稱加密,兩方密鑰相同(在安全通道傳輸密鑰)。
  • 公鑰加密的安全性一般基於的是個數學困難問題,陷門即是私鑰!

安全分析

image

  • 敵手的攻擊方式:選擇明文攻擊(CPA)、選擇密文攻擊(CCA),CCA比CPA描述敵手能力更強。
  • 若能抵抗CPA,則說明該方案是CPA安全的,通過描述一個遊戲的方式來證明,該遊戲的目的是證明在選擇明文攻擊的前提下攻破系統的不可區分性,所以這個遊戲叫做IND-CPA。
  • 不可區分性(IND):敵手即使獲得密文,也無法獲取任何明文的信息,即敵手攻擊成功的概率爲50%,超出50%的即爲成功概率。
  • IND-CPA:定義兩個角色(挑戰者C和敵手A),挑戰者C的任務是仲裁,主持遊戲並對敵手的行爲進行反饋;敵手就是攻擊當前系統的人,且對應的攻擊方式爲:選擇明文攻擊,即敵手選擇一些明文可以得到對應的密文。

image

  • 確定性加密:加密方案是確定的,每個明文對應一個密文(加密時沒有隨機數),當敵手進行不可區分性攻擊時,只需重新加密消息後與目標密文對比(這就是重放攻擊!),比如RSA。
  • 概率性加密:加密時加入隨機數,同一個明文每次加密得到密文都是不同的,比如ElGamal。
  • 存在竊聽時,任何一個確定性加密方案都不是CPA安全的,因爲敵手可以根據密文分析出對應的明文,不具有“不可區分性!”

基礎知識

不可區分性

image

  • 這裏的\(S\)是筆誤,應該爲\(\varepsilon\in(0,1)\),即在\(t\)時間內區分\(D(X)=1\)\(D(Y=1)\)相等的概率爲\(\varepsilon\)
  • 可分爲:完美不可區分性(在無窮時間內判斷\(D(X)=1\)\(D(Y=1)\)相等的概率爲0,即不能區分\(D(X)=1\)\(D(Y=1)\)相等)、統計意義上的不可區分性(在無窮時間內判斷\(D(X)=1\)\(D(Y=1)\)相等的概率幾乎爲0,即很難區分\(D(X)=1\)\(D(Y=1)\)相等)、計算安全性(在幾乎無窮時間內判斷\(D(X)=1\)\(D(Y=1)\)相等的概率幾乎爲0,即很難區分\(D(X)=1\)\(D(Y=1)\)相等)。

統計距離

image

  • 應該爲\(s\in S\),這是統計距離的定義(兩種),表示兩個分部之間的統計距離。

此處存疑?

哈希函數

image

  • 此處\(h(x)=h(y)\),表示碰撞的概率\(1/m\)
  • \(U\)是鍵的域,\(H\)是可選的哈希函數的域。
  • SD表示統計距離,表示\((A,h_A(X))\)\((A,U_t)\)是不可區分的。

同態加密

image
image

  • 比較完整的同態加密的分類和發展流程。
  • 部分同態(PHE):支持一種同態性
  • 有限次同態(SWHE或者Leveled-FHE):支持有限次的人任意同態計算。
  • 完全同態(FHE),支持任意次任意同態計算。
  • 同態加密核心是\(Eval()\)

image

  • HE的應用場景:醫療、金融、政務機密數據處理。

image

  • 對於同態加密,對稱加密和公鑰加密是可以轉換的。
  • 共鑰生成中,\(sk\)是對稱加密的密鑰,將\(l\)個比特\(b_i\)\(sk\)加密得到密文,將密文和\(b_i\)作爲公鑰\(pk\),死要還是\(sk\).
  • 加密時,明文\(\sigma \in [0,1]\),隨機比特串\(r\),使得\({\textstyle \sum_{1}^{l}r_ib_i}=\sigma\),加密得密文\(c=Enc({\textstyle \sum_{1}^{l}r_ib_i})\),用到了公鑰。

DGHV10方案

image

  • DGHV10方案是基於AGCD數學困難問題。
  • 密鑰生成:\(sk=n,pk=x_i\)
  • 加密:明文\(m\),密文\(c= {\sum x_i}+m=(\sum q_i).n+2\sum r_i +m\)
  • 解密:\(m=c(mod n)(mod 2)\)
  • 同態計算:(1)加法,噪音累加;(2)乘法,噪音指數級增長,過大會影響解密結果。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章