Elgamal-Encryption

子組生成:我們是否應該檢查 order 不是 2?還是g中的不會太小?

  • February 8, 2018

為了 $ p=2q+1 $ ,其中 p 和 q 是素數,我們有順序子群 $ p−1 $ , $ q $ , $ 2 $ 和 $ 1 $ . 尋找 $ G_q $ , 通常我們只檢查 $ g^q\bmod p=1 $ 就是這樣。

然而,這裡提到有一個機會(非常不可能,但仍然),一個滿足 $ g^q\bmod p=1 $ 是有序的 $ 1 $ 或者 $ 2 $ .

好的,假設我們開始檢查是否 $ g^q\bmod p $ 等於 $ 1 $ 從…開始 $ g=2 $ (消除 $ g=1 $ )。我看不出一個子組如何滿足 $ g^q\bmod p=1 $ 並且有秩序 $ 2 $ (所以 $ g^2\bmod p=1 $ 也)。似乎對於所有人來說 $ a $ 在 $ g^a\bmod p $ 結果是 $ 1 $ . 另一方面,由於 $ p $ 是一個素數並且 $ g^q\bmod p=1 $ 成立,那麼對於所有奇數 $ a $ 奇數等於 $ 1 $ 也。我看不到,除了 $ g =1 $ 可以滿足。我們是否需要檢查一下 $ g^2\bmod p $ 不是 $ 1 $ ?

附加問題,以從開始的遞增順序檢查所有整數是否是個好主意 $ g=2 $ ? 是否有任何與小型相關的安全問題 $ g $ ? 假設,在真正的 ElGamal 實現中 $ p $ 1024 位或 2048 位,我檢查所有 $ g $ 從 $ 2 $ 直到我找到 $ G_q $ 子群生成器。

我們是否需要檢查一下 $ g^2 \bmod p $ 不是 $ 1 $ ?

的唯一值 $ g $ 這是真的 $ g=1 $ 和 $ g=p-1 $ ; 避免這兩個值,你不需要那個檢查。

附加問題,以從開始的遞增順序檢查所有整數是否是個好主意 $ g=2 $ ?

好吧,沒有特定的安全理由說這是一個壞主意,但是有更簡單的方法:

  • 如果我們選擇 $ p \equiv 7 \pmod 8 $ , 然後 $ g=2 $ 將永遠有序 $ q $
  • $ g=4 $ 永遠有秩序 $ q $ (因為它始終是二次餘數)。

是否有任何與小型相關的安全問題 $ g $ ?

不,沒有問題。我們可以證明,解決 CDH 問題 $ g $ 並不比一般情況容易。

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