Homomorphic-Encryption

什麼是安全、現代、部分同態的加密方案?

  • February 28, 2022

我正在閱讀Philippe Golle 的這篇論文,內容是使用 ElGamal 加密的同態特性來玩心理撲克遊戲(即沒有受信任的第三方經銷商的加密安全撲克)。我決定嘗試實現一些基本版本是一個很好的項目,但我很快遇到了一些問題。

似乎 ElGamal(和 RSA,就此而言)通常被認為是不安全的,普遍的建議似乎是避免它們。因此,對於具有足夠高賭注的遊戲來說,部分同態的兩個大選項不在桌面上。此外,我真的找不到任何其他具有此屬性並且處理離散值而不是近似值的標準化密碼系統(實現本文中概述的算法所必需的)。我錯過了一些明顯的東西嗎?

我想我的問題是:如果 Golle 在 2022 年寫這篇論文,他會提出什麼來代替 ElGamal 來開發足夠高賭注的撲克遊戲?

有兩件顯而易見的事情要提。首先,需要注意的是,我只是簡要瀏覽了您連結的論文,我看到第 3 節指出使用的加密方案需要 3 個屬性,即

  1. 加性同態,
  2. “模組化明文比較”,例如檢查是否 $ Enc(c) $ 是0的加密,
  3. 分佈式密鑰生成協議。

如果您可以準確地確定您需要的操作/屬性,那麼回答這個問題會更容易。

基於格的

綜上所述,目前最常見的部分同態加密方案類型是加密的 R(LWE) 變體。但是,這滿足了加性同態的“嘈雜”變體,這意味著人們只能評估一些先驗有界數量的加性同態。如果您需要任意添加,也可以這樣做,例如方案 FHEW/TFHE 可能非常適合此(請注意,這些是完全同態加密方案,儘管它們特別有效)。不過,在您的情況下,這似乎是合理的/可能這很好。

對於其他兩點,我需要更仔細地閱讀/了解該方案的確切要求。不過,基於 RLWE 的加密方案可能適用於您的情況,這對我來說似乎是合理的,但我不會費心嘗試填寫詳細資訊,因為……

基於 El-Gamal:

雖然您認為“經典” El-Gamal(例如基於有限域 Diffie Hellman)有些過時是對的,但您可以使用基於橢圓曲線組的 El-Gamal。這是“現代的”(儘管對於量子電腦來說仍然很弱,如果這是您所關心的),並且對於您的目的來說可能比制定如何使用基於晶格的方案的細節更容易。請注意,對於一般加密,幾乎沒有理由使用 El Gamal 的橢圓曲線變體(詳見此處),但由於您特別想使用加法同態,因此使用 El Gamal 是有意義的。

如果您出於某種原因反對使用 Elliptic Curve El Gamal,則剩下的主要選項是基於晶格的方案。這將需要更多的工作來弄清楚細節,如果你能準確地說出你對底層加密方案有什麼要求,那麼這個網站上的人會更容易幫助你。

ElGamal 和 RSA «通常被認為是不安全的»如果假設加密相關的量子電腦。但這些仍然是高度假設的。世界(網際網路、銀行、移動……)目前執行在密碼系統上,當不對稱時,理論上容易受到這些假設的 CRQC 的攻擊:RSA、ECDSA、EdDSA、ECIES……

當忽略 CRQC 假設時,Paillier的密碼系統值得考慮。它很簡單¹,提供(可能有符號)整數的加法同態加密,具有小而明確的限制²,在 RSA 解密的小常數因子內具有效率(因此在許多應用中都可以承受),無專利,可證明可簡化為數學問題被廣泛認為是經典電腦的超多項式,並且被認為與相同素數大小的 RSA 一樣安全。

Paillier 的密碼系統在實踐中沒有得到太多使用的主要原因是,我相信,同態加密一般來說並沒有很高的需求。

另外:Paillier 加密不易受到填充預言攻擊或填充選擇不當的影響,因為(與 RSA 相反)它不需要填充。它很容易受到與 RSA 一樣的實施攻擊,包括在密鑰生成或使用時利用較差的隨機數生成器、側通道和故障攻擊。與 RSA 的相似性是個好消息,因為 RSA 已知有效的攻擊對策,並且可以在很大程度上適應 Paillier。


¹ 特別是在常見的限制條件下 $ n $ 兩個大小相等的素數的乘積,和 $ g=n+1 $ .

² 明文超出 $ n $ 減少模數 $ n $ , 和 $ n $ 一個足夠大的公共參數,對於任何可以計算的東西都不是問題,包括任何有意義的貨幣部分,甚至是原子。對比 ElGamal 的加法同態變體,它對可以相加的整數有嚴格的限制。

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