#HTTPS
有几个疑惑想看看有没有大佬能帮忙解答一下:
1、HTTPS的SSL握手过程中为什么要使用随机数?为什么需要三个随机数?
2、HTTPS前两个随机数为什么不用加密但第三个要加密?
全部评论
其实不是随机数,而是加密用的密钥。 因为我们将CA证书(公钥私钥对)部署在服务器,因此客户端第一次产生的key1,没办法加密,服务端收到之后,也会产生一个 key2,并将自己的公钥发送给客户端,之后客户端在生成一个 key3,这个key3用公钥加密(公钥加密之后,只有服务器的私钥才能解密)。因此key1没办法加密,key2如果用公钥加密了,客户端没办法解密key2,因此key2也不能加密。之后客户端自己生成一个key3,用公钥加密之后,发送给服务端,服务端用私钥才能解密
4 回复 分享
发布于 2021-04-08 10:40
在服务端和客户端都有三个随机数之后,会使用握手过程中协商的算法,使用三个随机数生成用于对称加密的密钥,握手完成后的数据,使用这个密钥来进行对称加密。(因为非对称加密比对称加密会消耗更多资源) 使用三个随机数的原因是,计算机的生成的随机数都是伪随机数,使用一个随机数不够安全。可以认为由两台计算机生成三个伪随机数无限接近随机数,生成的密钥是安全的。
3 回复 分享
发布于 2021-04-12 22:12
😃谢谢
点赞 回复 分享
发布于 2021-04-08 23:12
可以看看dh算法
点赞 回复 分享
发布于 2021-04-28 01:40
随机数是用来保证这一次连接的有效性的
点赞 回复 分享
发布于 2021-04-28 19:39

相关推荐

评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务