【密码学原理】Diffie-Hellman**交换算法与中间人攻击

Diffie-Hellman**交换算法

Diffie-Hellman**交换算法的目的是使两个用户能安全交换**,以便在后续的通信中用该**对消息加密。所以这个算法本身只限于**交换。

Diffie-Hellman**交换算法的有效性建立在离散对数上,在计算离散对数是困难的才能确保秘密交换。

Diffie-Hellman**交换算法如图所示

【密码学原理】Diffie-Hellman**交换算法与中间人攻击

有素数【密码学原理】Diffie-Hellman**交换算法与中间人攻击和本原根【密码学原理】Diffie-Hellman**交换算法与中间人攻击,为公开的整数,Alice选择随机整数【密码学原理】Diffie-Hellman**交换算法与中间人攻击,Bob选择【密码学原理】Diffie-Hellman**交换算法与中间人攻击,分别计算,其中【密码学原理】Diffie-Hellman**交换算法与中间人攻击【密码学原理】Diffie-Hellman**交换算法与中间人攻击保密,对算出的【密码学原理】Diffie-Hellman**交换算法与中间人攻击【密码学原理】Diffie-Hellman**交换算法与中间人攻击公开。Alice和Bob通过计算【密码学原理】Diffie-Hellman**交换算法与中间人攻击,将【密码学原理】Diffie-Hellman**交换算法与中间人攻击作为共享的**。这样Alice和Bob就完成了**的交换。【密码学原理】Diffie-Hellman**交换算法与中间人攻击【密码学原理】Diffie-Hellman**交换算法与中间人攻击是私有的,攻击者只能通过【密码学原理】Diffie-Hellman**交换算法与中间人攻击,【密码学原理】Diffie-Hellman**交换算法与中间人攻击【密码学原理】Diffie-Hellman**交换算法与中间人攻击来攻击,所以只能求离散对数来确定**。

如果攻击者要对Bob进行攻击,攻击者就要求离散对数算出【密码学原理】Diffie-Hellman**交换算法与中间人攻击,然后算出**【密码学原理】Diffie-Hellman**交换算法与中间人攻击

Diffie-Hellman**交换算法的安全性建立在下列事实上:

  • 计算素数模的幂运算相对容易,计算离散对数却非常困难
  • 对大素数,求离散对数被认为是困难的

基于这样的事实,保证了Diffie-Hellman**交换算法的保密性。

中间人攻击

上图的协议,不能抵御中间人攻击,中间人攻击的过程如下图所示

【密码学原理】Diffie-Hellman**交换算法与中间人攻击 

通过上述协议,Bob和Alice以为各自共享了**,实际上他们都是与Darth共享**,所以如果Alice和Bob通过共享**加密传输,将会泄露各自的明文

【密码学原理】Diffie-Hellman**交换算法与中间人攻击

**交换不能抵御上述攻击,是因为没有对通信的参与方进行认证。