混合密码
混合密码用对称密码来加密明文,用公钥密码来加密对称密码中所使用密钥。通过使用混合密码系统,就能够在通信中将对称密码和公钥密码的优势结合起来。
混合密码系统
对称密码与公钥密码
通过使用对称密码,我们就能够在通信中确保机密性。然而要在实际中运用对称密码,就必须解决密钥配送问题,而通过前面介绍的公钥密码,解决了配送问题,但是公钥密码还有两个很大的问题:
- 公钥密码的处理速度远远低于对称密码
- 公钥密码难以抵御中间人攻击。
此次介绍可以解决上面第一个问题,至于第二个问题,我们后续再介绍。
混合密码系统
混合密码系统(hybrid cryptosystem)是将对称密码和公钥密码的优势相结合的方法。一般情况下,将两种不同的方式相结合的做法就称为混合(hybrid)。
混合密码系统中会先用快速的对称密码来对消息进行加密,这样消息就被转换为了密文,从而保证了消息的机密性。然后我们只要保证对称密码的密钥的机密性就可以了。这里就轮到公钥密码出场了,我们可以同公钥密码对加密消息时使用的对称密码的密钥进行加密。由于对称密码的密钥一般比消息本身要端,因此公钥密码速度慢的问题就可以忽略了。
将消息通过对称密码来加密,将加密消息时使用的密钥通过公钥公钥密码来加密,这样的两步密码机制就是混合密码系统的本质。
下面罗列一下混合密码系统的组成机制。
- 用对称密码加密消息
- 通过伪随机数生成器生成对称密码加密使用的会话密钥
- 用公钥密码加密会话密钥
-
从混合密码系统外部赋予公钥密码加密使用的密钥
混合密码系统运用了伪随机数生成器、对称密码和公钥密码这三张密码技术。正是这三张密码技术相结合,才创造了一种兼具对称密码和公钥密码优点的密码方式。
加密和解密
混合密码系统的加密和解密.png
加密和解密的详细过程
混合密码系统加密.png

混合密码系统的具体例子
混合密码系统解决了公钥密码速度慢的问题,并通过公钥密码解决了对称密码的密钥配送问题。
著名的密码软件PGP,以及网络上的密码通信所使用的SSL/TLS都运用了混合密码系统。
PGP的处理除了这里介绍的混合密码系统之外,还包括数字签名、数字签名认证以及私钥管理等处理。PGP处理的流程图比混合密码系统要复杂的很多。
怎样才是高强度的混合密码系统
怎样才算是高强度的混合密码系统呢?混合密码系统运用了伪随机数、对称密码和公钥密码,因此其中每一种技术要素强度都必须很高。然后实际上不仅如此,这些技术要素之间的强度平衡也非常重要。
伪随机数生成器
混合密码系统中,伪随机数生成器被用户产生会话密码。如果伪随机数生成器算法很差,生成的会话密码要就有可能被攻击者推测出来。
会话密钥中那跑只有部分比特被推测出来也是很危险的,因为会话秒的密钥空间不打很容易通过暴力破解来发动攻击。
对称密码
混合密码系统中,对称密码被用于加密消息,当然,我们需要使用高强度的对称密码算法,并确保密钥具有足够的长度。此外,我们还需要选择使用何时的分组密码模式。
公钥密码
混合密码系统中,公钥密码被用于加密会话密钥。我们需要使用高强度的公钥密码算法,并确保密钥具有足够的长度。
密钥长度的平衡
混合密码系统中运用了对称密码和公钥密码两种密码方式,无论其中任何一方的密钥过短,都可能遭到集中攻击,因此对称密码和公钥密码的密钥长度必须具备同等的强度。
然而考虑到长期运用的情况,公钥密码的强度应该要高于对称密码,因为对称密码的会话密钥被破解只会影响本次通信内容,而公钥密码一旦被破译,从过去到未来的所有通信内容就能够被破译了。
该系列的主要内容来自《图解密码技术第三版》
我只是知识的搬运工
文章中的插图来源于原著
网友评论