Public-Key
具有弱公鑰的 ElGamal
假設此設置:素數 $ p $ , 一個生成器 $ \alpha $ 在 $ \mathbb{Z}_p^\ast $ . 愛麗絲選擇她的私人指數 $ d $ 從 $ [2, p-2] $ 併計算她的公鑰 $ \beta $ = $ \alpha^d $ .
Bob 然後選擇他的私鑰 $ i $ . 生成的屏蔽鍵 $ k_M $ 用於加密消息然後計算為 $ k_M = \beta^î $ .
我想知道以下攻擊在數學上是否可行:
如果 $ \beta $ 原來是 $ p-1 $ , 只有兩種可能的結果 $ k_M $ 求冪是 $ 1 $ 和 $ p-1 $ . 這是因為元素 $ p-1 $ 在循環乘法群中總是有 $ ord(p-1) = 2 $ ,所以只有這兩個元素可以由 $ \beta $ . 這反過來意味著只有兩個屏蔽鍵 $ k_M $ 存在。然後,攻擊者可以輕鬆地嘗試這兩個密鑰,並立即能夠解密消息。
您能否確認這種攻擊是否有效,如果可以,現實世界的 ElGamal 實現是否容易受到攻擊?
你能確認這種攻擊是否有效嗎
這取決於令人 難以置信的不可能發生的情況,但如果確實發生了,是的,它會起作用。
我們會有 $ \beta = p - 1 $ 當且當 $ d $ 恰好是價值 $ (p-1)/2 $ ; 這很有可能發生 $ 1 / (p-2) $ .
為了讓 El Gamal 完全安全, $ p $ 需要很大,例如,至少 2048 位。這意味著這有一個機率大約 $ 2^{-2048} $ 的發生。我們通常不會坐在那裡擔心我們會在接下來的 10 秒內被流星擊中;這比我們挑壞事發生的機率要高得多 $ d $ .