一、对称密码存在的问题
使用对称密码能够保证机密性,但是却存在着密钥不方便配送的问题。
二、公钥密码存在的问题
公钥密码的处理速度远远低于对称密码;
公钥密码难以抵挡中间人的攻击。
三、混合密码系统
混合密码系统是将对称密码和公钥密码的优势相结合的方法。用对称密码对消息进行加密,用公钥密码对秘钥进行加密(由于对称密码的秘钥比消息本身要短很多,因此可以忽略公钥密码速度慢的问题)。
四、混合密码系统的组成机制(对称密码,伪随机数生成器,公钥密码)
用对称密码加密消息
通过伪随机数生成器生成对称密码加密使用时的会话秘钥
用公钥密码加密会话秘钥
从混合密码系统外部赋予公钥密码加密时使用 的密码
五、混合密码系统的加密
会话秘钥是对称密码的密钥,同时也是公钥密码的明文。
六、混合密码系统的解密
七、混合密码系统的具体例子
著名的密码软件PGP、以及网络上的密码通信所使用的的SSL/TLS都运用了混合密码系统。
八、设计高强度混合密码系统的几个关键点
1、伪随机数生成器
伪随机数生成器被用来生产会话密钥,如果伪随机数生成器 的算法很差,生成的会话密钥很容易被破解。
2、对称密码
需要使用高强度的对称密码算法,确保密钥具有足够的长度,还需要选择合适的分组密码模式。
3、公钥密码
使用高强度的公钥密码算法,确保密钥有足够的的长度。
4、密码长度的平衡
对称密码和公钥密码的密钥长度必须具备同等的强度。
九、相关概念简单介绍
数字签名是由单向散列函数和公钥密码组合而成。
证书由公钥和数字签名组合而成。
消息认证码由单向散列函数和密钥组合而成。也可以通过对称密码来生成。
伪随机数生成器,可以使用对称密码,单向散列函数或者公钥密码来构建。