Diffie-Hellman密钥交换协议

简介: Diffie-Hellman密钥交换协议

Diffie-Hellman也就是DH算法,本章我们将简单介绍一下该算法。

什么是DH算法?


DH算法是Diffie和Hellman两位作者于1976年提出的一种密钥交换协议。它的主要用途是在非安全网络下通信双方密钥的安全建立,从而使通信双方能够使用这个密钥进行消息的加密解密,从而实现通信的安全。DH算法实现的是密钥交换或者密钥协商,通信双方各自生成自己的私钥和公钥,私钥仅对自己可见,然后交换公钥,并根据自己的私钥和对方的公钥,生成最终的密钥secretKey,DH算法通过数学定律保证了双方各自计算出的secretKey是相同的


在基于对称加密进行安全通信的过程中,通信双方需要持有一个共享的密钥。只有这样,由任何一方加密的信息才能由另一方使用相同的密钥解密。

但是在能够安全的通信之前,通信双方应该如何约定一个共享的密钥呢?这就是安全中的经典问题:密钥配送问题。


常用的加密算法

对称加密算法

   流加密(序列密码算法)

   分组加密

   常用的对称加密算法:DES/3DES、AES


非对称加密算法

   RSA    支持变长密钥的公共密钥算法

DH算法的计算过程


Alice和Bob都有一个只有自己知道的私钥,在特定规则(g, a, p)下生成自己的公钥A;

Alice将自己的公钥A,连同g, p共同发给Bob

Bob在收到Alice发送来的公钥A, g, p后,先使用相同的规则((g, a, p))生成自己的公钥B;

再使用Alice的公钥A计算生成共享密钥K

Bob将自己的公钥B发送给Alice即可。(Alice已经有g, p, 因此无需在发送)

Alice在接收到Bob的公钥B后,使用相同的规则计算成功共享密钥K

至此,Alice 和 Bob便同时拥有了共享密钥K。此时由于各自的私钥a,b未在互联网上传播,因此即使存在窥探者Eve,他仅通过公开的A\B\g\p在短时间内无法破解出a,b,K。

因此DH算法便可以在不安全的网络上协商出密钥,基于此构建安全的加密通道。


看到这里可能还是有点懵,所以这里我们就不聊数学原理,因为实际情况太过于复杂,我们就以一种简单的计算案例来进行理解整个DH算法的过程。

a96a802ec97335b2ace66bd59c477472_59b01feb0b064daeb1826ea514119856.png


我们一步一步的来理解。

这里的P是一个质数,正常环境下一般比较大,可以将其进行公开。

g是一个DH算法中所固定的一个数(是一个双方已知的值)。

x和y为A、B双方自己所知道的一个随机值,正常环境中一般比较大。

X和Y时经过A和B双方根据自身已有的值来运算出来的值,将这两个值计算出后,再互相发送给对方进行二次计算。

最后双方经过公式计算出来的Z是相同的。

也就是说,Z就是双方经过DH算法协商出来的密钥。


该算法的好处在于,黑客根据已公开的数据(P,g,X,Y),难以推导出x、y,因为是取模运算,是不可逆的。而且正常环境下P和x,y的值都非常大,这也使破解难度加大。协商出来的Z,在A、B通信时,传输的相当于就是一个对称密钥,相当于是A、B之间进行一个私密的传输,不会造成密钥泄露,而导致中间人劫持(因为A、B双方都不会把协商的密钥Z发出,只会用Z对数据进行加密和解密)


注意:真实情况下这样的密钥协商可能会进行很多次,以达到更高的安全性和可靠性。

相关文章
|
数据可视化 前端开发 搜索推荐
数字孪生可视化开发技术(ThingJS)学习笔记
数字孪生可视化开发技术(ThingJS)学习笔记
1232 0
|
存储 算法 安全
【密码学】非对称加密算法 - ECDH
由于 ECC 密钥具有很短的长度,所以运算速度比较快。到目前为止,对于 ECC 进行逆操作还是很难的,数学上证明不可破解,ECC 算法的优势就是性能和安全性高。实际应用可以结合其他的公开密钥算法形成更快、更安全的公开密钥算法,比如结合 DH 密钥形成 ECDH 密钥协商算法,结合数字签名 DSA 算法组成 ECDSA 数字签名算法。ECDH算法常常用来进行密钥的协商,协商好密钥后,用来解决上面的密钥分配问题,将对称加密的密钥安全的传到对端设备。算法加密/解密数字签名密钥交换RSA✅✅✅❌。
6052 0
|
2月前
|
人工智能 编解码 自然语言处理
阿里云视频生成模型HappyHorse活动:限时8折,720P每秒仅需0.72元起、1080P每秒1.28元起
阿里云新一代AI视频生成模型HappyHorse限时8折,720P每秒仅0.72元起、1080P每秒1.28元起,支持免费体验10秒。HappyHorse涵盖文生视频、图生视频、参考生视频与视频编辑四大能力,以电影级光影质感、运镜稳定、人物表情细腻著称,支持有声视频生成,适配广告电商、短漫剧、影视制作等场景。用户可通过阿里云百炼平台调用API或结合函数计算快速部署,以低成本实现从智能生成到精细编辑的全链路AI视频创作。
|
10月前
|
监控 Linux
Linux系统监控报告CPU软锁定问题(soft lockup)诊断方法
以上方法结合起来使用将大大提高解决此类问题效率与成功率。实际操作过程需谨慎考虑当前环境与场景特点选择合适方法,并且要注意数据备份与恢复计划防止误操作造成不可挽回损失。
1377 13
|
人工智能 Oracle 关系型数据库
全球CRM系统市场份额分析:领导者与挑战者
随着全球企业对CRM系统的依赖性增加,CRM市场正经历快速增长和激烈竞争。本文分析了全球CRM市场的份额,介绍了市场领导者如Salesforce、Oracle、SAP、纷享销客等,以及挑战者如HubSpot CRM、Zoho CRM等,并预测了未来市场趋势,包括云计算的普及、人工智能的融合和本土化需求的增加。
|
搜索推荐 数据可视化 数据挖掘
基于Python flask框架的招聘数据分析推荐系统,有数据推荐和可视化功能
本文介绍了一个基于Python Flask框架的招聘数据分析推荐系统,该系统具备用户登录注册、数据库连接查询、首页推荐、职位与城市分析、公司性质分析、职位需求分析、用户信息管理以及数据可视化等功能,旨在提高求职者的就业效率和满意度,同时为企业提供人才匹配和招聘效果评估手段。
878 0
基于Python flask框架的招聘数据分析推荐系统,有数据推荐和可视化功能
|
算法 安全 网络安全
Diffie-Hellman (DH) 算法的工作原理
【8月更文挑战第23天】
3030 0

热门文章

最新文章