主要过程
信息的发送方通过对信息进行散列运算生成一个消息摘要,接着发送方用自己的私钥对这个消息摘要进行加密,就形成发送方的数字签名。然后,把这个数字签名作为信息的附件和信息一起发送给信息的接收方。接收方收到信息后,首先对收到的信息进行与发送者相同的散列运算得到一个消息摘要,接着再用发送方的公钥来对信息中附加的数字签名进行解密得到发送方计算出的散列码
具体步骤
(1)信息发送者 A 要向 B 发送一份信息,A 先按双方约定的散列算法对该信息进行
散列运算,得到一个该信息特有的消息摘要 H,从前面所述可以知道,只要改动信息中任何一位,重新计算出的消息摘要值就会与原先的值不相符。这样就保证了信息的不可更改性
(2)接着把该消息摘要用 A 自己的私钥加密,得到 A 对该信息的数字签名 S。
(3)然后 A 把信息原文与数字签名 S 一起发送给 B。
(4)当 B 收到后,先用 A 的公钥对数字签名 S 解密得到 A 的消息摘要 H。
(5)再用同样的散列算法对收到的信息进行散列运算,得到消息摘要 H'。
(6)比较 H 与 H',如相等则说明信息确实来自它所声称的发送者 A