Diffie–Hellman密钥交换算法

本文解析了Diffie-Hellman(DH)密钥交换算法的工作原理,阐述了用户如何通过公开信息计算相同的密钥而不泄露私有数据。此外,还介绍了OAKLEY协议如何解决DH算法的安全缺陷。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  我觉得要理解这个算法,首先理解这个过程就差不多了。

 

  用户甲选择一个随机整数x1 < q,并计算y1 = a x1 mod q.同样的,用户乙也独立地选择一个随机整数x2 < q,并计算y2 = a x2 mod q。甲和乙保持其x是私有的,但对另一方而言,y是公开可访问的。用户甲就计算k = y2 x1 mod q,乙计算k = y1x2 mod q。当然计算出来的这两个密钥k是相同的。

 

  至于两个K为什么会相同,随便从甲或乙的角度来考虑,然后利用一个数学定理(取模运算规则)就可以推算出来了。那么,现在普通用户可以得到Y1,Y2,Q和A。可是得到了这4个也是无法算出密钥K的。因为,假使用户知道Y2,Q,A,那么他得知道X2才能算出K,而利用y2 = a x2 mod q才能求出X2,思路上是可行的,但是对于大的素数,计算出离散对数几乎是不可能的。

 

  但是D-H加密算法是有其不足的地方的,不知道现在是否给淘汰(这个我无法下结论),但它已经成为OAKLEY的组成部分,后者克服了其缺点。简单来说,OAKLEY算法的特征如下:

 

  1、 它采用称为cookie程序的机制来对抗阻塞攻击。

  2、 它使得双方能够协商一个全局参数集合。
  3、 它使用了现时来保证抵抗重演攻击。
  4、 它能够交换Diffie-Hellman公开密钥。
  5、 它对Diffie-Hellman交换进行鉴别以对抗中间人的攻击。

 

  最近在加紧学习网络安全知识……希望到以后能有比较深的印象和形成一定的思维模式以及一定的数学基础

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值