https中的对称加密和非对称加密

24,303次阅读
没有评论

共计 675 个字符,预计需要花费 2 分钟才能阅读完成。

1. 什么是对称加密和非对称加密?

这个详细来说有点复杂,这里简单的说下:

对称加密 就是加密和解密用的是同一个密钥 k。
非对称加密 是发送端使用公开的公钥 a 加密,然后接收端使用私密的私钥 b 解密。

对称加密快,非对称加密安全。对称加密如DES,非对称加密如RSA


2. 那 https 的加密是用的对称加密还是非对称加密呢?

答案是 —— 两者都用了

这里让我们先看看一个完整的 https 请求的过程:

  1. 首先,浏览器请求一个 url,找到服务器,向服务器发起一个请求。服务器将自己的证书(包含服务器公钥 S_PuKey)、对称加密算法种类及其他相关信息返回客户端。
  2. 浏览器检查 CA 证书是不是由可以信赖的 CA 机构颁发的,确认证书有效和此证书是此网站的。如果不是,给客户端发一个警告,询问是否继续访问。
  3. 如果是,客户端使用公钥加密了一个随机对称密钥,包括加密的 URL 一起发送到服务器。
  4. 服务器用自己的私匙解密了你发送的钥匙。然后用这把对称加密的钥匙给你请求的 URL 链接解密。
  5. 服务器用你发的对称钥匙给你请求的网页加密。你也有相同的钥匙就可以解密发回来的网页了。

说起来复杂,简单总结起来就是:

使用非对称加密传输一个对称密钥 K ,让服务器和客户端都得知。然后两边都 使用这个对称密钥 K 来加密解密收发数据 。因为 传输密钥 K 是用非对称加密方式 ,很难破解比较安全。而 具体传输数据则是用对称加密方式,加快传输速度。两全其美。

这么想来,https 的设计真的是一个非常棒的设计,同时兼顾了安全和速度,可以说是比较完善了。


参考资料:

  1. 理解 SSL(https)中的对称加密与非对称加密
  2. 聊聊对称 / 非对称加密在 HTTPS 中的应用

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于1970-01-01发表,共计675字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)