一 场景
发送者Alice要对消息签名,接收方Bob要对签名进行验证。
二 签名和验证过程
Alice需要先生成一个包括公钥和私钥的密钥对,而需要验证签名的Bob需要得到Alice的公钥。签名过程如下:
1 Alice用自己的私钥对消息进行加密
用私钥加密得到的密文就是Alice对这条消息的签名,由于只有Alice才持有自己的私钥,因此除Alice外,其他人是无法生成相同的签名(密文)的。
2 Alice将消息和签名发送给Bob
3 Bob用Alice的公钥对收到的签名进行解密
如果收到的签名确实是Alice的私钥加密得到的密文(签名),那么用Alice的公钥应该能够正确解密。其他情况无法解密。
4 Bob将签名解密后得到的消息与Alice直接发送的消息进行对比
如果两者一致,则签名验证成功;如果两者不一致,则签名验证失败。