听说这玩意可以安全交换密钥 —— Diffie-Hellman 算法

简介: Diffie-Hellman 密钥交换算法,是由 Whitfield Diffie 和 Martin Hellman 在1976年共同提出的一个奇妙的密钥交换协议。这个算法的巧妙在于需要安全通信的双方可以用这个方法确定对称密钥,然后可以用这个密钥进行加密和解密。(注意:Diffie-Hellman 算法是一种建立密钥的方法,而不是加密方法,只能用于密钥的交换,而不能进行消息的加密和解密)

Diffie-Hellman


  密钥的配送一直是一个难以解决的问题,我们始终无法保证在不安全的线路中安全传递密钥。直到 Diffie-Hellman 密钥交换算法出现:一种确保共享密钥安全穿越不安全网络的方法

Diffie-Hellman 密钥交换算法,是由 Whitfield Diffie 和 Martin Hellman 在1976年共同提出的一个奇妙的密钥交换协议。这个算法的巧妙在于需要安全通信的双方可以用这个方法确定对称密钥,然后可以用这个密钥进行加密和解密。(注意:Diffie-Hellman 算法是一种建立密钥的方法,而不是加密方法,只能用于密钥的交换,而不能进行消息的加密和解密)


Diffie-Hellman 算法描述


  1. 有两个全局公开的参数,一个素数 p 和一个整数 a,其中 a 是 p 的本原元(a mod p,a2 mod p,a3 mod p…是互不相同的数,而且以某种排列包含从 1 到 p-1 的所有整数)。
  2. 假设有用户 A 和 B 希望安全交换一个密钥。
  3. A 用户生成一个作为私有密钥的随机数 XA(XA < p),这个随机数只能 A 知道,然后计算公开密钥 YA = aXA mod p,并发送给 B 用户。
  4. B 用户生成一个作为私有密钥的随机数 XB(XB < p),这个随机数只能 B 知道,然后计算公开密钥 YB = aXB mod p,并发送给 A 用户。
  5. A 用户使用 XA 和收到的 YB 计算共享密钥 K = YBXA mod p = (aXB mod p)XA mod p = aXB*XA mod p。
  6. B 用户使用 XB 和收到的 YA 计算共享密钥 K = YAXB mod p = (aXA mod p)XB mod p = aXA*XB mod p。
  7. 此时双方计算出相同密钥 K,成功交换共享密钥,使用密钥 K 进行通信。


Diffie-Hellman 安全性


 在 Diffie-Hellman 算法中,公开的变量是 p、a、YA、YB ,共享密钥 K = aXA*XB mod p。其中 p、a 变量已知,问题在于已知 YA、YB求 XA、XB这个问题涉及到离散对数问题,要解决是非常困难的。所以,我们可以相信 Diffie-Hellman 算法是非常安全的。


Diffie-Hellman 缺点


  • 没有提供双方身份的任何信息。
  • 它是计算密集性的,因此容易遭受阻塞性攻击,即对手请求大量的密钥。
  • 受攻击者花费了相对多的计算资源来求解无用的幂系数而不是在做真正的工作。
  • 没办法防止重演攻击
  • 容易遭受中间人的攻击


Oakley 算法是对 Diffie-Hellman 密钥交换算法的优化,它保留了后者的优点,同时克服了其弱点。


相关文章
|
1月前
|
存储 安全 算法
|
1月前
|
算法
【优选算法专栏】专题九:链表--------两两交换链表中的节点
【优选算法专栏】专题九:链表--------两两交换链表中的节点
20 0
|
22天前
|
运维 算法 安全
异常检测算法及其在安全领域的应用
【6月更文挑战第4天】在数字化时代,数据安全至关重要,异常检测算法扮演着守护者角色。它能自动学习正常行为模式,及时发现网络攻击和欺诈行为。非监督式异常检测算法尤其重要,如基于距离的方法,通过计算数据点间距离识别偏离常规的点。Python的scikit-learn库可实现这一算法。异常检测不仅应用于金融领域的欺诈检测,还广泛用于工业监控、医疗诊断和社交媒体分析,为多领域数据安全提供保障。随着技术进步,异常检测将更智能、高效,成为数据安全的重要防线。
38 2
|
16天前
|
机器学习/深度学习 存储 算法
Python5种算法回溯+剪枝、字典序、递归交换、计数回溯、迭代法 实现全排列ll【力扣题47】
Python5种算法回溯+剪枝、字典序、递归交换、计数回溯、迭代法 实现全排列ll【力扣题47】
|
16天前
|
存储 机器学习/深度学习 算法
python 3种算法 回溯法、字典序生成、递归交换 实现全排列【力扣46题】
python 3种算法 回溯法、字典序生成、递归交换 实现全排列【力扣46题】
|
1月前
|
存储 安全 算法
【专栏】保护数据安全的重要性以及安全加密算法在数据保护中的应用
【4月更文挑战第27天】在数字化时代,数据安全至关重要,关系到个人隐私、企业商业机密、国家安全及经济发展。安全加密算法(如对称加密、非对称加密和哈希算法)在保护数据方面发挥关键作用。它们应用于电子商务、金融、物联网、云存储和数字签名等领域,确保信息传输和存储的安全。面对日益复杂的挑战,我们需要持续研究和应用加密技术,提高数据安全意识,共同维护数字世界的繁荣与安全。
|
1月前
|
算法 安全 网络协议
https原理--RSA密钥协商算法
https原理--RSA密钥协商算法
28 0
|
1月前
|
安全 算法 网络安全
|
1月前
|
算法 安全 关系型数据库
非对称加密算法Diffie-Hellman算法
Diffie-Hellman算法是一种非对称加密方法,用于在不安全的通道上建立共享密钥。它基于两个用户交换公开的p和g(大素数和其原根)以及各自的随机数计算得出相同的秘密密钥s/s&#39;。算法的安全性依赖于离散对数问题的困难性,防止未授权者计算出密钥。该算法与对称加密(如AES)结合,先生成共享密钥,再用于加密实际通信,确保消息安全。
43 2
|
1月前
|
网络协议 算法 数据库
【专栏】IS-IS协议是内部网关协议,常用于大型网络路由器间的路由信息交换,基于OSI的CLNP标准和Dijkstra算法
【4月更文挑战第28天】IS-IS协议是内部网关协议,常用于大型网络路由器间的路由信息交换,基于OSI的CLNP标准和Dijkstra算法。其特点是分层设计、快速收敛、高效资源利用和强故障恢复能力。在现代网络中,IS-IS广泛应用于服务提供商、企业网络及与其他协议的融合,是构建稳定、高效网络的关键。了解和应用IS-IS能提升网络系统的可靠性和效率。