https加密、解密、数字签名和证书

1、对称数据加密

在这里插入图片描述

  • 通过密钥进行加密:科比发送给韦德消息,科比用密钥加密算法进行加密,韦德用科比给的密钥进行解密,就能看到消息。
  • 但是这种加密的问题在于,如何让韦德知道科比生成的密钥,如果直接传输依然会被人偷窥。

2、RSA:非对称加密

在这里插入图片描述

  • 保密的,称为私钥,仅自己可见。公开的,称之为公钥。可以直接在网络上发送给别人。
  • 用私钥加密的数据,只有对应的公钥才能解密。用公钥加密的数据,只有对应的私钥才能解密。
  • 首先,科比随便发送一个信息给韦德,韦德把公钥发送给科比,科比用韦德的公钥加密,然后生成密文发送给韦德,韦德用私钥解密,就可以看到信息了。
  • 提升效率:用RSA发送密钥,然后用对称加密进行交流
  • 但是这种方式很容易被中间人劫持。

3、中间人劫持

在这里插入图片描述

  • 一旦韦德发送给科比的公钥被中间人劫持,中间人将自己的公钥发送给科比,科比会误认为是韦德发送的公钥,进行数据加密,这个时候中间人用自己的私钥就可以看到信息内容,同时将自己的公钥发送给韦德,这样就可以偷窥信息。
  • 解决:问题在于如何安全的发送公钥,保证公钥的正确,不被劫持,或劫持后接收人能发现公钥错误。

4、数字签名和证书

  • 我们只需要在乎发送公钥的安全就可以了,只要发送的公钥是正确的。就能保证不被偷窥。
    在这里插入图片描述
  • 将韦德的公钥和个人信息通过hash算法形成信息摘要(这个算法有一个极好的特性,只要输入数据有一点变化,那么生成的信息摘要就巨变),在通过CA(网络上的认证中心)的私钥形成数字签名。最后形成证书。这些操作都是韦德要发给科比公钥时候采用的,形成的证书。
    在这里插入图片描述
  • 收到数字证书之后会验证两个消息摘要是否相同,如果相同就说明未被修改。
  • 但是这里还是有一个问题,如果中间人篡改了数字证书,用了自己的公钥和信息、自己生成的数字签名,在获取CA公钥的过程中再次截取,发送了自己的公钥。还是会出问题,但是CA会确保我们获取的是正确的。我们必须相信,这边是证书。
  • 成功获取公钥了之后就可以传输密钥了,然后进行通信。

https

  • 这里和上面是非常相似的。
    在这里插入图片描述
发布了134 篇原创文章 · 获赞 91 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/weixin_44588495/article/details/102182236