2

之前的文章我们讲了两种加密方式,一种是对称加密,一种是非对称加密。

对称加密可以解决通信的机密性的问题,但是不能解决密钥配送的问题。而非对称加密算法虽然可以解决密钥配送的问题,但是它的加密速度比较慢,并且无法抵御中间人攻击。

那么如果将对称加密算法和非对称加密算法结合起来,是不是就能够得到一种既不用配送密钥,加密速度又快的系统呢?

答案是肯定的,著名的SSL/TLS协议就是这样的加密系统。这样的系统就叫做混合加密系统。

在混合加密系统中,我们用对称加密来加密消息,用公钥来加密对称加密的密钥,通常来说对称加密的密钥是通过伪随机数生成器来生成的。

混合加密系统综合使用了伪随机数生成器,对称密码和公钥密码这三种技术组合而成。

加密

混合密码系统的加密过程如下:

  1. 使用伪随机数生成器生成会话密钥。
  2. 使用该会话密钥加密明文,生成密文。
  3. 使用之前约定好的公钥加密会话密钥。
  4. 将加密过后的会话密钥和密文合并,组成混合过后的密文。

解密

混合密码系统的解密过程如下:

  1. 接受者收到组合过后的密文,根据约定分别得到加密过后的会话密钥和密文。
  2. 接受者使用自己的私钥解密加密过后的会话密钥,得到会话密钥。
  3. 接受者使用会话密钥解密密文,得到明文。

混合密码系统的强度

在混合密码系统中,主要使用了伪随机数生成器,对称加密,公钥私钥加密三种方式。所以混合密码系统的强度和这三个方式有关。

伪随机数生成器主要生成的越随机越好,而加密算法则强度越高越好。

更多教程请参考 flydean的博客


flydean
890 声望432 粉丝

欢迎访问我的个人网站:www.flydean.com