PromleeBlog

posting thumbnail
Diffie-Hellman密钥交换

📅

密钥交换(Key Exchange) 🔗

安全交换通信所需共同密钥的方法。
Alice和Bob通过
公开信道
交换数据,生成共同的秘密密钥。
Alice与Bob之外的第三方,即使截获公开信道上传输的数据,也无法得知密钥。

Diffie-Hellman密钥交换(Diffie-Hellman Key Exchange) 🔗

一种公钥密码方法,用于安全交换秘密密钥。
预先共享参数:素数pp,以及具有生成元gg的有限群Zp∗\mathbb{Z}_p^*。
Alice与Bob的操作如下。
KAB=Ba=(gb)a=gab=(ga)b=Ab=KBAK_{AB} = B^a = (g^b)^a = g^{ab} = (g^a)^b = A^b = K_{BA}

Diffie-Hellman密钥交换示例 🔗

p=31p = 31,g=3g = 3。
密钥交换结果:

Diffie-Hellman密钥交换的安全性(Security of Diffie-Hellman Key Exchange) 🔗

中间人攻击。
👨‍💻
计算性Diffie-Hellman问题(CDH,Computational Diffie-Hellman)

中间人攻击场景(Man-in-the-Middle Attack Scenario) 🔗

  1. Alice与Bob执行密钥交换。
  2. Eve位于Alice与Bob之间。
  3. 向Alice发送geg^e。
  4. 向Bob发送gfg^f。
  5. Alice与Bob计算gefg^{ef}。
  6. Eve计算gefg^{ef},从而截获双方通信。

中间人攻击的解释与防范(Man-in-the-Middle Attack Description & Prevention) 🔗

攻击过程 🔗

  1. Eve生成秘密值ee,计算E=gemod  pE = g^e \mod p。
  2. Alice与Bob分别向对方发送AA和BB。
  3. Eve截获它们,并向双方发送EE。
  4. Alice与Bob收到EE后,分别计算:
    KAE=Ea=geamod  pK_{AE} = E^a = g^{ea} \mod p、KBE=Eb=gebmod  pK_{BE} = E^b = g^{eb} \mod p。

防范中间人攻击 🔗

中间人攻击总结 🔗

    Diffie-Hellman密钥交换 | PromleeBlog