Diffie-Hellman

Diffie Hellman 的步驟中使用了組的哪些屬性?

  • January 22, 2019

我試圖了解每個步驟在 DHKE 中使用組的哪些屬性。

例如,Alice 和 Bob 的公鑰似乎只使用了一個組的閉包屬性,並且可能使用了**身份 (例如 $ k_{pubA} $ = $ A^{k_{prA}} $ (模式 p)?

創建共享密鑰時,Alice 和 Bob 似乎也使用了組的關聯屬性 $ k_{AB} $ = $ B^{k_{prA}} $ (模式 p)?

那麼要執行 DHKE 的兩個主要步驟,似乎根本沒有使用乘法逆屬性?

我試圖了解每個步驟在 DHKE 中使用組的哪些屬性。

實際上,您可以在任何半群中實現 DH 風格的操作;你需要閉包,你需要關聯性(所以 $ A^3 = A\times A \times A = (A \times A) \times A = A \times (A \times A) $ 定義明確),但除此之外,你真的不需要任何東西。你不需要一個恆等式,你不需要半群是阿貝爾的(儘管由單個元素生成的子半群總是阿貝爾的),它不一定是有限的(儘管無限半群會導致實際實施過程中的問題)並且您不需要逆(如果您沒有身份,則無論如何都沒有明確定義)。

我們通常不會談論在半組中進行 DH,主要是因為(AFAIK)沒有人發現一個半組(這也不是一個組)比真正的組有任何特別的優勢。

現在,一個更有趣(也更難)的問題是“DHKE 需要哪些屬性才能確保安全?” 我們確實有一些假設,例如 CDH 假設(“給定 $ g, g^a, g^b $ , 很難計算 $ g^{ab} $ ),但是我們不知道什麼半群屬性可以確保…

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