对称密码算法的优点是加解密运算非常快,适合处理大批量数据,但其密钥的分发与管理较复杂。而非对称密码算法的特点是公钥与私钥分离,非常适合密钥的分发与管理;但其运行速度不快,又不适合处理大批量数据。若把两种算法的优点结合起来,既可以处理大批量数据,又能对密钥的分发与管理进行简化,于是数字信封机制就出现了。
数字信封并不用分发和管理对称密钥,而是随机产生,用对称密码算法对大批量数据加密,并用非对称密码算法加密该对称密钥;解密时,先用非对称密码算法解密后得到对称密钥,后用对称密码算法解密后得到数据明文。
数字信封的功能类似普通信封,用对称密码算法加密消息与信纸上的内容相似,用非对称密码算法对对称密钥加密类似于信封,信封将信纸包装起来,保证了消息的安全性。
数字信封机制的具体流程如下:
①消息发送方需要预先获得消息接收方的公钥。
②发送方随机得到对称密钥,并通过该密钥与对称算法加密消息。
③发送方用接收方的公钥和非对称算法对上述对称密钥加密。
④发送方把消息密文与对称密钥密文一块发给接收方。
⑤接收方收到消息密文与对称密钥密文。
⑥消息接收方用自己的私钥与非对称算法解密对称密钥密文后得到对称密钥明文。
⑦接收方用以上对称密钥与算法解密消息密文后得到明文。