Homomorphic-Encryption

為什麼 FHE 是非平凡的?

  • November 19, 2022

如果我理解正確(以下有錯誤請告知),全同態加密方案 $ \mathcal{E} $ 是這樣的,對於任何消息 $ x, y $ , $$ \mathcal{E}(x + y) = \mathcal{E}(x) + \mathcal{E}(y) \ \mathcal{E}(x y) = \mathcal{E}(x) , \mathcal{E}(y), $$ IE $ \mathcal{E} $ 是環同態。由於函式 $ \mathcal{E} $ 必須是可逆的(因此是內射的),我們有一些基本的同構定理 $ \mathcal{E} $ 實際上是適當選擇的環之間的環同構。如果我們假設域和密碼域都是 $ R $ ,我們正在尋找一個環 $ R $ 具有適當複雜的自同構群。

為什麼不讓 $ R $ 是一些有限域並選擇 $$ \mathcal{E}{r}(x) = r^{-1} x r, $$ 和 $ r \in R $ ?Alice 現在可以發送 Bob $ \mathcal{E}{r}(x_1), \dots, \mathcal{E}{r}(x_n) $ 不透露 $ r $ . Bob 可以執行加法和乘法返回一個加密的結果,Alice 可以通過 $$ \mathcal{E}^{-1}{r}(x) = r x r^{-1}. $$ 由於 FHE 是一個活躍的研究課題,所以這並不容易。我只是對加密不夠精通,不知道為什麼。

由於 FHE 是一個活躍的研究課題,所以這並不容易。

那麼,對於FHE,一般認為它是一種公鑰加密方案,也就是說,擁有公鑰的人可以加密東西。然而,這不是主要問題。

一個問題是 FHE 需要是不確定的;特別是,如果你得到兩條消息的加密 $ E(M_1) $ 和 $ E(M_2) $ ,你不應該能夠確定是否 $ M_1 = M_2 $ . 因為您的方法沒有添加任何隨機性,所以對同一條消息加密兩次將產生相同的密文,對手可以觀察到。

另一個問題 $ rxr^{-1} $ (至少如果您使用矩陣乘法)是該操作是線性的(就矩陣定義的欄位而言)。也就是說,如果您使用 $ N \times N $ 矩陣,那麼你可以用 $ N^2 $ 已知的明文/密文對。實際上,可能會有更好的攻擊(使用更少的對),但是僅此一次就足以取消該方案的資格。

$ \mathcal{E} $ 實際上是適當選擇的環之間的環同構。

令人困惑的是,這實際上不是真的。這是因為實際上所有已知的 FHE 方案都使每個密文具有與之關聯的“雜訊級”。例如,讓 $ \mathcal{C} $ 是一些(環)可能的密文。讓 $ \mathcal{C}^{\epsilon}\subseteq\mathcal{C} $ 是這個環的子,用於“噪音水平”的密文 $ \epsilon $ .

然後,一個人大致明白了

$$ \mathsf{Add}: \mathcal{C}^{\epsilon_0}\times \mathcal{C}^{\epsilon_1}\to \mathcal{C}^{\epsilon_0 + \epsilon_1} $$

$$ \mathsf{Mul}: \mathcal{C}^{\epsilon_0}\times \mathcal{C}^{\epsilon_1}\to \mathcal{C}^{f(\epsilon_0,\epsilon_1)} $$

這裡, $ f $ 取決於正在考慮的特定 FHE 方案。無論如何,這個“噪音水平”很重要,因為只有在噪音水平“小”(由 FHE 方案的系統參數決定)時解密才是正確的。因此,以下兩種情況是等價的

  1. 做一些明文計算,和
  2. 同態地做同樣的計算,然後解密。

*如果雜訊水平足夠低,*它們可能是等效的(即 FHE 可能是正確的)。但是人們總是可以指定計算(僅根據 $ \mathsf{Add} $ , $ \mathsf{Mul} $ ,或者甚至只有這些算法中的一個)雜訊水平變得太大,並且解密將是不正確的。

Daniele Micciancio在這次演講中討論了一些細微差別,他區分了“完全同態加密”和“完全可組契約態加密”,但我不相信有相應的論文(我有一段時間沒看過演講了儘管)。

引用自:https://crypto.stackexchange.com/questions/102840