混合密码系统
公钥密码存在两个问题:公钥密码的处理速度远远低于对称密码;公钥密码难以抵御中间人攻击
-
混合密钥系统
混合密钥系统是将对成密码和公钥密码的优势相结合的方法。混合密码系统系统中会先用快速的对称密码来对消息进行加密,以此来保证消息的机密性,然后保证密码的的密钥的机密性即可。对于保证密钥机密性则采用对称密码来解决,可以采用公钥密码对加密信息时使用的对称密码的密钥进行加密。由于对称密码的密钥一般比消息本身要短,因此公钥密码速度慢的问题可以忽略。
将消息通过对称密码来加密,将加密信息时使用的密钥通过公钥密码来加密,这两部密码机制就是混合密码系统的本质 -
混合密码系统的组成机制:
- 用对称密码加密消息
- 通过为随机数生成器生成对称密码加密中使用的会话密钥
- 用公钥密码加密会话密钥
- 从混合密码系统外部赋予公钥密码加密时使用的密钥
混合密码系统运用了伪随机数生成器、对称密码和公钥密码这三种密码技术。正式通过三种技术的结合,才创造出了一种兼具对称密码和公钥密码有点的密码方式
- 加密过程
其中会话密钥是指本次通信而生成的临时密钥,他一般是通过为随机数生成器产生的,产生的该会话密钥同时也会被传递给右半部分,作为对称密码的密钥使用。为公钥密码会对会话密钥进行加密,公钥密码加密所使用的密钥是接受者的公钥。即会话密钥是对称密码的密钥,同时也是公钥密码的明文。 - 解密
解密过程中需要先安事先约定的密文结构进行分离,然后由持有私钥的用户解密,解密后的会话密钥将被用作解密信息的密钥。整个过程就是"混合密码系统的加密"的逆操作 - 高强度的混合密码系统
1. 伪随机数生成器
在混合密码系统中,伪随机数生成器被用于产生会话密钥。如果为随机数生成器的算法不达标,将会被攻击者轻易破译。
2. 公钥密码
在混合密码系统中,对称密码被用于加密信息。因此需要使用高强度的对称密码算法,并确保密钥具有足够的长度,并且需要选择合适的分组密码模式
3. 公钥密码
混合密码系统中,公钥密码被用于加密会话密钥。我们需要高强度的公钥密码算法,并确保密钥具有足够的长度。
4. 密钥长度的平衡
混合密码系统中运用了对称密码和公钥密码两种密码方式,无论其中任何一方的密钥过短都会遭到攻击,因此对称密码和公钥密码的密钥长度必须具备同等的强度。考虑到长期使用的的情况,公钥密码的强度应该高于对称密码。