之前的文章我们讲了两种加密方式,一种是对称加密,一种是非对称加密。
对称加密可以解决通信的机密性的问题,但是不能解决密钥配送的问题。而非对称加密算法虽然可以解决密钥配送的问题,但是它的加密速度比较慢,并且无法抵御中间人攻击。
那么如果将对称加密算法和非对称加密算法结合起来,是不是就能够得到一种既不用配送密钥,加密速度又快的系统呢?
答案是肯定的,著名的SSL/TLS协议就是这样的加密系统。这样的系统就叫做混合加密系统。
在混合加密系统中,我们用对称加密来加密消息,用公钥来加密对称加密的密钥,通常来说对称加密的密钥是通过伪随机数生成器来生成的。
混合加密系统综合使用了伪随机数生成器,对称密码和公钥密码这三种技术组合而成。
加密
混合密码系统的加密过程如下:
- 使用伪随机数生成器生成会话密钥。
- 使用该会话密钥加密明文,生成密文。
- 使用之前约定好的公钥加密会话密钥。
- 将加密过后的会话密钥和密文合并,组成混合过后的密文。
解密
混合密码系统的解密过程如下:
- 接受者收到组合过后的密文,根据约定分别得到加密过后的会话密钥和密文。
- 接受者使用自己的私钥解密加密过后的会话密钥,得到会话密钥。
- 接受者使用会话密钥解密密文,得到明文。
混合密码系统的强度
在混合密码系统中,主要使用了伪随机数生成器,对称加密,公钥私钥加密三种方式。所以混合密码系统的强度和这三个方式有关。
伪随机数生成器主要生成的越随机越好,而加密算法则强度越高越好。
更多教程请参考 flydean的博客
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。