虽然 非对称加密 解决了密钥配送问题,但是 非对称加密 有两个问题。
(1)非对称加密 处理速度不如 对称加密
(2)无法抵御中间人攻击
为了解决问题(1)所以有了混合密码系统,它结合 非对称加密 和 对称加密 两者的优势。问题(2)这需要对公钥进行认证(如HTTPS),单靠混合加密系统是无法防止中间人攻击的
1.1. 加密
核心机制:
- 通过伪随机数生成器生成一个对称加密密钥A
- 用对称加密密钥A加密消息M
- 用公钥加密对称加密密钥A得到加密后的密钥B
- 将M和B组合输出
从上图我们可以知道每次对消息进行加密的时候我们可以每次都生成一个随机的会话密钥,就算发送的消息是相同的,经过加密后得到的密文也不同,从而实现一次一密。
1.2. 解密
理解加密后,解密就是个逆过程。如下图: