【网络安全期末复习3】Diffie-Hellman**交换算法

首先,Diffie-Hellman**交换算法的主要目的是为了通信双方能够生成一个共同的会话**

过程图:
【网络安全期末复习3】Diffie-Hellman**交换算法

原理

首先通信双方先协商好两个公共数值,p和g,其中p是一个大素数,g是一个整数,p和g公开,即所有用户均可获取,并未所有用户共有

  1. 首先用户A随机生成一个大数a,
  2. 用户A计算K1=g^a(mod p ),并将此结果传送给用户B
  3. 用户B随机生成一个大数b
  4. 用户B计算K2=g^b(mod p),并将结果传送给用户A
  5. 用户计算K=(K2)^a(mod p)
  6. 用户B计算K = (k1)^b(mod p)
  7. 最终得到双方的会话**K

举例

加入双方协商的p为23,g为5.
A随机选取的数为a = 6,
B随机选取的数为b = 15。

则:

  • 用户A发送给用户B的K1 = 5^6(mod 23) = 8
  • 用户B发送给用户A的K2 = 5^15(mod 23) = 19
  • A计算得到的会话**K = 19^6(mod 23) = 2
  • B计算得到的会话**K = 8^15(mod 23) = 2

故最终通信双方的会话**为5