混合加密

共享密钥加密存在无法安全传输密钥的密钥分配问题,公开密钥加密又存在加密解密速度较慢的问题。结合这两种方法以实现互补的一种加密方法就是混合加密。

在混合加密中,要用处理速度较快的共享密钥加密对数据进行加密。不过,加密时使用的密钥,则需要用没有密钥分配问题的公开密钥加密进行处理。

 

加密处理流程

假设A准备通过互联网向B发送数据。

使用处理速度较快的共享密钥加密对数据进行加密。加密时所用的密钥在解密时也要用到,因此A需要把密钥发送给B。

将密钥通过公开密钥加密进行加密后,A就可以将其安全地发送给B了。因此,作为接收方,B需要事先生成公开密钥和私有密钥。

B将公开密钥发送给A。

A使用收到的公开密钥,对共享密钥加密中需要使用的密钥进行加密。

A将加密后的密钥发送给B。

B使用私有密钥对密钥进行解密。

这样,A就把共享密钥加密中使用的密钥安全地发送给了B。

接下来,A只要将使用这个密钥加密好的数据发送给B即可。加密数据时使用的是处理速度较快的共享密钥加密。

 

混合加密方法

像这样,混合加密在安全性和处理速度上都有优势。能够为网络提供通信安全的SSL协议也应用了混合加密方法。SSL是Secure SocketsLayer(安全套接层)的简写,该协议经过版本升级后,现在已正式命名为TLS(Transport Layer Security,传输层安全)。但是,SSL这个名字在人们心中已经根深蒂固,因此该协议现在也常被称为SSL协议或者SSL /TLS协议。

 

参考: 我的第一本算法书 5-6 混合加密