Paillier

計算 Paillier、SSE 和 OPE 的密碼大小

  • October 28, 2013

如果我必須在 Paillier、SSE 和 OPE 中分別加密 32 位明文,我如何分別估計密文大小以保留數據庫中的空間量?

如何知道要預留多少空間?有兩種方法:

  1. 實現該方案,加密 32 位明文,然後查看生成的密文有多長。這是最簡單的方法。
  2. 在概念層面理解方案,然後用你對算法的理解來預測密文的長度。

由於聽起來您不了解概念級別的方案,因此我的建議是您使用第一種方法。


請注意,您的問題沒有提供足夠的資訊來完全回答您的問題。鑑於您的問題中的資訊,這是我可以告訴您的:

  • **派利爾。**假設您想要與 2048 位 RSA 等效的安全性(合理的安全級別;任何短得多的東西都不會很安全)。那麼 Paillier 密文將是 4096 位寬:長度的兩倍 $ n $ . 那是因為 Paillier 密文是一個數字 $ c $ 模組 $ n^2 $ (IE, $ c $ 在。。。之間 $ 1 $ 和 $ n^2-1 $ )。即使你只想加密一個 32 位的明文,密文仍然是 4096 位長。我知道,這是一個缺點,但事實就是如此。
  • **歐佩克。**保序加密(OPE)不是一個單一的方案;這是一個計劃的目標。這就像“RSA”與“公鑰加密”之間的區別;前者是計劃,後者是目標。OPE 類似於“公鑰加密”,而不是“RSA”。因此,如果您使用 OPE,我無法告訴您密文的長度,因為密文的長度將取決於您使用的 OPE 方案,並且有許多針對 OPE 的建議方案。
  • **上證所。**我不知道首字母縮寫詞 SSE 指的是什麼。如果 SSE 指的是可搜尋對稱加密,那麼就會出現類似的情況:我們無法告訴您密文的長度,因為那裡有很多 SSE 方案,並且不知道您打算使用哪些方案,我們不能告訴你密文會有多長時間。
  • 在 Paillier 中,密文的大小大約是明文的兩倍。

(您可能會感興趣:http: //courses.engr.illinois.edu/cs598man/fa2011/slides/ac-f11-lect15.pdf ‎)

  • 對於保序對稱加密 (OPE),請查看http://www.cc.gatech.edu/~aboldyre/papers/operev.pdf,其中描述了第 9 頁上的“選擇密文空間大小” 。
  • 在可搜尋對稱加密 (SSE) 中,您最大的“大小”擔憂將是考慮您將要處理的令牌的數量(和大小)以允許(授權)客戶端搜尋您的數據庫中的加密數據(如關鍵字)……但你應該有點安全地計算大約兩倍的明文大小來儲存密文

(你可能會感興趣閱讀:http ://eprint.iacr.org/2012/624.pdf )

總而言之(而不是查看大量可能的單獨實現),如果您保留大約兩倍的明文大小,以便將密文儲存在數據庫中,我會說您應該有點*“OK” 。*在您的情況下,至少需要 32 位明文 * 2 = 64 位密文。

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