Elliptic-Curves

Diffie-Hellman 與橢圓曲線 Diffie-Hellman 有何不同?

  • November 22, 2021

我不明白 ECDH 是如何工作的。免責聲明:我對橢圓曲線知之甚少。

以下是 DH 的工作原理:

  1. 愛麗絲和鮑勃就質數達成一致 $ P $ 和一個發電機 $ G $ . (他們使用RFC 3526中的一個)
  2. Alice 生成一個足夠長(多長時間?)的秘密 $ S $ 併計算 $ R = G^S \pmod{P} $ 並發送結果 $ R $ 給鮑勃
  3. Bob 和 Alice 在 2 中做的一樣。
  4. Alice 和 Bob 交換 $ R $
  5. 他們都計算 $ R^S \pmod{P} $ 與對方發送的值,並找到相同的值 $ SS $ .

$ SS $ 是共享的秘密。

使用橢圓曲線時,點 1..4 有何不同?

EC 的 RFC 3526 的“等效”值是什麼?

您可能想查看橢圓曲線的維基百科頁面以獲得基本概述。

DH 和 ECDH 之間的區別主要在於選擇計算密鑰的組。雖然 DH 使用以素數為模的乘法整數組 $ p $ , ECDH 使用橢圓曲線上的一組乘法點:

  1. 愛麗絲和鮑勃在橢圓曲線上達成一致 $ E $ 在一個領域 $ \mathbb{F}_q $ 和一個基點 $ P \in E/\mathbb{F}_q $ .
  2. Alice 生成一個(隨機的)秘密 $ k_A $ 併計算 $ P_A = k_A P $ .
  3. Bob 生成一個(隨機)秘密 $ k_B $ 併計算 $ P_B = k_B P $ .
  4. 愛麗絲和鮑勃交換 $ P_A $ 和 $ P_B $ .
  5. Alice 和 Bob 計算 $ P_{AB} = k_A P_B = k_B P_A $ .

秘密 $ k_A $ 和 $ k_B $ 是一個隨機值 $ \in {1, …, n-1} $ 在哪裡 $ n $ 是生成的組的順序 $ G $ .

等效的 RFC 可能是 RFC 4753(不確定,根本不在 RFC 中)。

為了就共同曲線達成一致,Alice 和 Bob 可以自己生成曲線,也可以使用預定義的曲線和基點。為此,定義了幾個標準,請參閱:

根據 ECDH 的應用,您可能希望選擇不同的曲線,因為某些曲線有好處,例如點乘的計算步驟量。

它以同樣的方式工作。

唯一的區別是您進行數學運算的組。在橢圓曲線密碼學中,群由曲線上的點給出,群運算記為+,而在標準Diffie-Hellman 算法中,群運算記為 $ \cdot $ .

我建議您閱讀以下連結。我認為它寫得很好,很容易理解。在那之後,橢圓曲線密碼學不會為您提供任何秘密(有點。這是密碼學和數學的一個相當困難和復雜的分支,但理解所有原理非常好)。

http://arstechnica.com/security/2013/10/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/

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