混合加密

前言

上一篇文章我们提到了公开密钥加密方法

并且剖析了它的优点和缺点,优点主要是加密解密比较安全,在攻击人没有拿到私钥的情况下,使用此种加密解密方式几乎不可能被破解;缺点有两个,第一个是使用此种方式的性能比较不好,第二个是在公钥的交付过程中可能会被攻击人拦截到并且替换成自己的公钥,让甲方和乙方在自以为很安全的情况下就泄露了自己的信息。此篇博文我们先来解决一下第一个问题。

混合加密

当我们使用对称加密解密的时候,存在对称加密钥匙被劫持的问题,但是速度较快;当我们使用非对称加密解密的时候,存在速度较慢的问题,但是比较安全。那么,如果将两种方式结合一下呢?

那就是我们的混合加密方式了,下面是混合加密的流程:

A方想通过互联网向B方发送数据:
在这里插入图片描述
A方需要对数据进行加密,因为使用的是对称加密,所以加密密钥也是解密密钥,A方需要将这把钥匙发送给B方:
在这里插入图片描述

使用混合加密的目的是把对称加密的钥匙通过非对称加密的方式发送给B方,防止对称加密的钥匙半路被拦截,因此,B方先要创建自己的公钥和私钥:
在这里插入图片描述

然后B方把自己的公钥发送给A方:
在这里插入图片描述

A方使用B方的公钥对自己的对称钥匙进行加密:
在这里插入图片描述
发送给B方之后,B方再用自己的私钥对A的对称加密钥匙进行解密:
在这里插入图片描述
至此,B方通过安全的途径得到了A方的对称加密的钥匙,可以用来解密了(注意,安全只是相对之前单纯地传送对称加密钥匙而言,此处的安全相当于半裸之于全裸,因为我们还是需要数字签名来做到真正的安全,后面会做说明)
在这里插入图片描述
现在,A方可以使用对称加密钥匙加密数据,B方可以通过同一把钥匙解密数据了:
在这里插入图片描述

但是,我们还是没有解决在公钥的传输过程中被攻击人替换成假公钥的问题,因此,攻击人可以使用中间人攻击方法让A方使用假公钥加密,然后自己通过假私钥解密,再使用B的真公钥加密,然后发回给B,以此做到窃取AB之间使用的对称加密钥匙的目的。

因此,我们还是需要数字证书

  • 参考资料:
    算法动画图解APP

猜你喜欢

转载自blog.csdn.net/qq_37856300/article/details/85230044
今日推荐