前言
前几篇博文分别介绍了对称加密、消息验证码和数字签名,本文将介绍公钥加密(非对称加密)的应用示例。为什么会有公钥加密呢?考虑对称加密模型,一个k个用户的网络需要存储 k(k-1)/2对秘钥;而公钥加密模型,则只需要存储k个公钥,k个私钥。
混合加密
对称加密算法计算效率比公钥加密明显要高,对于充分长的消息,可以通过混合加密组合达到应用效果。当传递一个消息m时:
(1)发送方先选择一个随机的对称密钥k ,然后用接收方的公钥pk加密k,得到密文c1;接收方利用自己的私钥sk解密c1 得到k。
(2)通信双方利用k对m使用对称加密算法。
混合加密算法的安全性证明依赖于∏和∏'的安全性(参考下图),这里不作深入。
应用模型
假如现在 Alice 向 Bob 传送信息m,为了保证信息传送的保密性、真实性、完整性和不可否认性,采用混合加密,其传送过程为:
Alice 准备好要传送的数字信息m(明文)
Alice 对数字信息进行Hash运算(md5),得到一个