Elgamal-Encryption

2 是 elgamal 加密的安全生成器嗎

  • November 2, 2016

據我了解這裡https://en.wikipedia.org/wiki/ElGamal_encryption>和這裡:<https://ritter.vg/security_adventures_elgamal.html,任何數字都可以用作生成器。使用 2 作為生成器有什麼問題嗎?還有其他限制嗎?

據我們所知,給定子群的任何生成器 $ \mathbb Z_p $ 對於 ElGamal 加密,與任何其他加密一樣安全;和 $ 2 $ 也不例外。論據(這不是證明):ElGamal 加密與該子組中的離散對數問題密切相關(並且不比它更難),並且始終使用生成器解決 DLP $ 2 $ 在子組中 $ \mathbb Z_p $ 它生成的問題並不比使用任何其他生成器解決 DLP 難多少 $ g $ 屬於同一個子群。後一種情況的近似證明:如果我們能始終如一地用生成器解決 DLP $ 2 $ 在那個子組中,並且知道那個子組的順序 $ r $ ,我們可能可以解決 $ 2^y\equiv g\pmod p $ 為了 $ y $ ,然後對於 $ a $ 在子組中,我們可以始終如一地解決 $ g^x\equiv a\pmod p $ 為了 $ x $ ,通過首先解決 $ 2^z\equiv a\pmod p $ 為了 $ z $ 使用假設方法,然後求解 $ z=x,y\bmod r $ 為了 $ x $ 這很容易。

但是,如果得出這樣的結論是錯誤的 $ 2 $ 可以安全地用作任何足夠大的發電機 $ p $ . 常識是使用一個子組,它的順序 $ r $ 是一個大素數 $ q $ 至少 $ 2b $ 防止努力的安全位 $ O(2^b) $ (以及其他合理的選擇)。子群的階數大是不夠的:如果 $ r $ 是平滑的,將應用Pohlig-Hellman算法,並允許對任何密文進行明文恢復。注意:我推遲就什麼是必要條件發表聲明 $ r $ 和消息到達 IND-CPA 安全,直到我確定我寫的內容!

更新:雨披給出了支持此答案中第一個斷言的更強有力的論據:能夠使用生成器恢復由 ElGamal 加密的明文 $ 2 $ (總是,或極其一致地)暗示能夠使用任何生成器這樣做 $ g $ 即使 DLP 本身是無法克服的,也屬於同一個子組(啟發式總是,或者可能有相當大的機率)。

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