一、混合密码系统
1.介绍
混合密码系统将对称密码和公钥密码的优势结合在一起。使用对称密码对信息进行加密,使用公钥密码对加密信息的对称密码的秘钥进行加密。这样,解决了对称密码的密钥配送问题,由于秘钥较短,所以公钥密码处理速度较慢的问题可以忽略,此外,还有中间人攻击,可以通过认证解决,认证将会在第十章介绍。
组成机制:
- 用对称密码对信息进行加密
- 使用伪随机数生成器生成使用对称密码加密时使用的对话秘钥
- 使用公钥密码对加密信息的密码的秘钥
- 从混合密码系统外部生成公钥密码的秘钥
2.加密
上图分为左右两个部分,右边使用对称密码对信息进行加密,生成密文1;左边使用伪随机数生成器生成对称密码秘钥,使用公钥信息对秘钥进行加密,生成密文2。密文1和密文2组成密文。
3.解密
先按事先约定好的结构将密文分离,分为密文1和密文2-----然后使用公钥密码的秘钥对对称密码的秘钥进行解密----最后对对称密码进行解密,获得信息。
4.具体例子
著名的密码软件PGP、网络上的密码通道所使用的SSL/TLS。
二、制作高强度的密码系统
1.伪随机数生成器算法好
如果为随机数生成器的算法很差,容易被推测出来。即使只有部分比特被推测出来,也是十分危险的。因为密钥长度比较短,容易被暴力破解。
2.高强度的对称密码
保证秘钥有足够的长度,选择合适的分组密码模式
3.高强度的公钥密码
保证秘钥足够长
4.秘钥强度的平衡
对称密码和公钥密码的密钥长度要具备同等强度。为了保证长期使用,公钥密码的强度要高于对称密码。因为公钥密码一旦被破译,过去到现在所有的通信信息都会被泄露。而对称密码被破译,只影响本次通信。
三、密码技术的组合
混合密码系统-----对称密码、公钥密码
数字签名------单项散列函数、公钥密码
证书-----公钥、数字签名
消息认证码----有单项散列函数和秘钥组合而成,也可以通过对称密码来生成。
伪随机数生成器-----可以使用对称密码、单项散列函数、公钥密码来构建。