混合密码系统 : 用对称密码提高速度,用公钥密码保护会话密钥
通过使用对称密码,就能够在通信中确保机密性。然而要在实际中运用对称密码,就必须解决密钥配送问题。
公钥密码,可以避免解密密钥的配送,从而也就解决了对称密码所具有的密钥配送问题。但是,公钥密码还有两个很大的问题:
- 公钥密码的处理速度远远低于对称密码。
- 公钥密码难以抵御中间人攻击。
混合密码系统:将对称密码和公钥密码的优势相结合的方法。一般情况下,将两种不同的方式相结合的做法就称为混合。
混合密码系统中会先用快速的对称密码来对消息进行加密,这样消息就被转换为密文,从而也就保证了消息的机密性。然后我们只要保证对称密码的密钥的机密性就可以了。这里就轮到公钥密码出场了,我们可以用公钥密码对加密消息时所使用的对称密码的密钥进行加密。由于对称密码的密钥一般比消息本身要短,因此公钥密码速度慢的问题就可以忽略了。 将消息通过对称密码来加密,将加密消息时使用的密钥通过公钥密码来加密,这样的两步密码机制就是混合密码系统的本质。
下面列一下混合密码系统的组成机制:
- 用对称密码加密消息
- 通过伪随机数生成器生成对称密码加密中使用的会话密钥
- 用公钥密码加密会话密钥
- 从混合密码系统外部赋予公钥密码加密时使用的密钥
混合密码的加密过程:
混合密码的解密过程: