密码技术——混合密码系统

学习《图解密码技术》补充密码学相关基础知识过程中所做的简单学习笔记,只记录要点,所用图例的来源均为《图解密码技术》一书。

本篇主要参考本书第六章——混合密码系统

引子

公钥密码有两个弱点

  • 公钥密码的处理速度远低于对称密码
  • 公钥密码难以抵御中间人攻击

而对称密码也存在一个问题

  • 密钥配送的问题

这里介绍的“混合密码系统”就是结合了公钥密码以及对称密码,解决了“公钥密码的处理速度低”以及“对称密码的配送”两个问题。至于公钥密码难以抵御中间人攻击的问题,需要对公钥进行认证的处理。

混合密码系统

混合密码系统(hybrid cryptosystem)是将对称密码和公钥密码的优势相结合的方法。

在混合密码系统中,会先用快速的对称密码来对消息进行加密,保证了消息的机密性;然后使用公钥密码对加密消息时使用的对称密码的密钥进行加密,解决了密钥传输的问题,并且由于对称密码的密钥长度一般比消息本身要短很多,因此公钥密码速度慢的问题就可以忽略了。

将消息通过对称密码来加密,将加密消息时使用的密钥通过公钥密码来加密,这样的两步密码机制就是混合密码系统的本质。

加密

混合密码系统的加密过程如下图所示

混合密码系统的加密

可以看到,左半部分是“加密会话密钥”的部分(使用公钥密码),右半部分是“加密消息”的部分(使用对称密码)。
对加密过程进行归纳:

  • 通过伪随机数生成器生成一个会话密钥。「步骤一」
  • 使用会话密钥,对消息进行对称密码加密。「步骤二」
  • 使用接受者的公钥,对会话密钥进行公钥密码加密。「步骤三」
  • 将「步骤二」和「步骤三」输出的密文进行组合,得到「用公钥密码加密的会话密钥 + 用对称密码加密的消息」,即混合密码系统的密文。

解密

混合密码系统的解密过程如下图所示

混合密码系统的解密

可以看到,左半部分是”解密会话密钥”的部分(使用公钥密码),右半部分是“解密”的部分(使用对称密码)。
对解密过程进行归纳:

  • 将密文分离成「用公钥密码加密的会话密钥」 以及「 用对称密码加密的消息」。「步骤一」
  • 使用接受者的私钥,对加密后的会话密钥进行公钥密码解密,得到会话密钥。「步骤二」
  • 使用「步骤二」得到的会话密钥,对加密后的消息进行对称密码解密,得到消息明文。「步骤三」

总结

混合密码系统解决了公钥密码速度慢的问题,并通过公钥密码解决了对称密码的密钥配送问题。

混合密码系统中涉及到了三个密码技术:

  • 伪随机数生成器(用于生成会话密钥)
  • 对称密码(用于加密消息)
  • 公钥密码(用于加密会话密钥)

著名的密码软件PGP、以及网络上的密码通信所使用的SSL/TLS都运用了混合密码系统。

Comments Section | 评论区
Privacy Policy Application Terms of Service