张春 发表于 2024-12-31 03:51:33

《深入浅出HTTPS​​​​​​​​​​​​​​​​​》读书笔记(23):密

《深入浅出HTTPS​​​​​​​​​​》读书笔记(23):密钥协商算法(续)
【DH密钥协商算法】
 Diffie-Hellman算法,简称DH算法。
而DH算法确切地说,实现的是密钥交换或者密钥协商,DH算法在进行密钥协商的时候,通信双方的任何一方无法独自计算出一个会话密钥,通信双方各自保留一部门关键信息,再将另外一部门信息告诉对方,双方有了全部信息才能共同计算出雷同的会话密钥。
DH算法处理过程
◎通信双方的任何一方可以生成公共参数p和g,这两个数是公开的
◎客户端连接服务器端,服务器端将参数发送给客户端。
◎客户端根据公开参数生成一个随机数a,这个随机数是私钥,只有客户端知道,且不会进行发送,然后计算Yc = (g ^ a) mod p, Yc就是公钥,需要发送给服务器端。
◎服务器端根据公开参数生成一个随机数b,这个随机数是私钥。计算Ys = (g ^ b) mod p, Ys是公钥,需要发送给客户端。
◎客户端发送Yc数值给服务器端,服务器端计算Z = (Yc ^ b) mod p。
◎服务器端发送Ys数值给发送方,客户端计算Z = (Ys ^ a) mod p。
◎服务器端和客户端生成的Z就是会话密钥,协商完成。
只要私钥不发生走漏,攻击者纵然有了Ys和Yc也不会计算出会话密钥。
【DH算法分类】
DH算法分为两种类型,分别是静态DH算法和临时DH算法。
1)静态DH算法(DH算法)
静态DH算法,p和g两个参数永远是固定的,而且服务器的公钥(Ys)也是固定的。静态DH算法的长处就是避免在初始化连接时服务器频繁生成参数p和g,因为该过程黑白常斲丧CPU运算的
2)临时DH算法(EDH算法)
在每次初始化连接的时候,服务器都会重新生成DH密钥对。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 《深入浅出HTTPS​​​​​​​​​​​​​​​​​》读书笔记(23):密