為什麼聲稱 ElGamal 比 RSA 差?
我有一些筆記聲稱 ElGamal 比 RSA 更糟糕,因為 ElGamal 會增加長度。有誰知道這是什麼意思,為什麼是壞財產?
編輯:
為了完整起見,我向您展示了我正在研究的 RSA 模型(非常基本的模型)
事實上,ElGamal 的優勢也被指出。第一代參數效率更高,第二代 ElGammal 適用於各種類型的組,而 RSA 的設置是 $ \mathbb{Z}{n} $ . 所以比較應該完成 $ \mathbb{Z}{n} $ .
註釋說明的是ElGamal加密中的密文 $ \mathbb Z_p^* $ 使用時,大約是 RSA 中密文的兩倍 $ p $ 和 $ N $ 大小差不多;那是因為密文 $ (u,v) $ 在 ElGamal 中有 2 個整數,當 $ y $ 在 RSA 中有 1;和 $ u $ , $ v $ , $ y $ 大小差不多(也是 $ p $ 和 $ N $ )。製造 $ p $ 和 $ N $ 大約相同大小是有道理的,因為這提供了相當的安全性(對於適當的其他選擇)。
從某種意義上說,較大的密文是不好的,因為這會使密文傳輸時間稍長一些,並且需要額外的資源。這個事實在實踐中並不是很相關:
2 倍的大小只適用於某些應用程序(幾乎不適用於消息通過現代網路的任何應用程序),因為實踐中不使用 ElGamal 或 RSA 進行批量數據加密;它使用混合加密,其中用於非對稱加密的頻寬絕對值很小,而且通常是成比例的。
ElGamal 加密可以在具有更緊湊的元素表示的組(如橢圓曲線組)中完成,然後密文大小的平衡直接向另一個方向移動,ElGamal 獲勝者超過 2 倍;所以在密文大小很重要的罕見情況下,我們想使用這個 ElGamal 變體。
對於非對稱密碼,還有很多比密文大小更重要的鑑賞標準;包含
- 公鑰大小(ElGamal 在問題抽籤的競爭條件下以一英寸的優勢獲勝,但RSA 可以採用可證明安全的技術並輕鬆獲勝,除非 ElGamal 拉出另一張組卡),
- 密鑰生成速度(ElGamal 獲勝,假設為多個密鑰重用同一組的做法),
- 加密速度(通常採用的 RSA 以可觀的優勢獲勝;它在這一類別中的主要競爭對手是像Rabin 加密這樣的表親),
- 解密速度(ElGamal 通常會獲勝),
- 在同一硬體上組合加密和解密速度(ElGamal 通常勝出),
- 非隨機消息的安全消息填充的簡單性(ElGamal 贏得了陪審團的鼓掌)……
順便說一句,RSA 不能安全地加密任意消息(對於 $ b $ -我們至少需要犧牲一點安全性 $ b $ 位出 $ \lfloor\log_2(N)\rfloor $ ,然後在RSA OAEP實踐中我們犧牲了大約 $ 2b+15 $ 位);當 ElGamal 在 $ \mathbb Z_p^* $ 可以加密任何 $ m $ 在那個集合中,包括 $ \lfloor\log_2(p)\rfloor $ 位。
這本身是沒有意義的,因為在實踐中我們經常加密的消息比 $ \lfloor\log_2(N)\rfloor $ 或者 $ \lfloor\log_2(p)\rfloor $ 無論如何,因為這些消息確實是其他密碼系統的關鍵。