数字签名
发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私人密钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再用发送方的公用密钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该数字签名是发送方的。
1:发送方将message, 用hash 生成digest
2: 发送方用自己的private key 将 digest 加密,生成 signature
3: 发送方将 message, signature 一起发给接收方
3: 接收方用发送方的public key 将signature 解密,生成digest
4: 接收方将message,用Hash 生成digest,
5: 比较2个digest, 如果相同,则证明message没有篡改过。
但是不能证明public key + private key 的正确性