图:介绍了数字信封的安全传输过程
关键术语
散列
:Hash(哈希),一般翻译做散列、杂凑,是把任意长度的输入(数据信息)通过散列算法变换成固定长度的输出,该输出就是散列值(信息摘要),特点:同一段信息有且仅有一个散列值对应MAC报文鉴别码
: 由散列值的数字签名和原消息组成对称加密
:非对称加密
:
非对称加密的应用场景
数字签名
:使用自己的私钥加密消息的过程,任何持有该公钥的一方都可以解密,保证了数据的真实性数据加密
:使用对方的公钥进行加密的过程,只有持有私钥的一方才能解密,保证了数据的隐蔽性
发送者加密步骤
- A方对邮件(明文消息)进行散列获得
散列值(摘要)
- A方对散列值进行
签名
(由A生成的非对称加密密钥对,其中的私钥
用来加密散列值得到密文即签名,公钥则传送给了B) - 将签名和名文消息合并,形成
MAC报文鉴别码
- 对MAC报文鉴别码进行加密 (使用A生成的
对称密钥
加密),得到密文1 - 将
对称密钥
进行加密(由B生成的非对称加密密钥对,用其中的公钥
来加密),得到密文2 - 将密文1 和 密文2 一起发送给接收者B
接收者B解密步骤,是上面加密步骤的逆过程
- 接收到A方发来的密文1,密文2
- 使用B的私钥解密密文2 ,得到对称密钥
- 使用对称密钥解密密文1,得到MAC
- 取MAC中的签名,用A的公钥解密签名,得到散列值(摘要)
- 取MAC中的明文消息进行散列,得到散列值,对比上步的散列值是否一致,若一致则证明消息未被篡改,消息正常接收完成