数字签名

资料:李yl老师视频

数字签名过程:

  1. 发送方使用哈希函数对原文进行哈希,得到消息摘要。
  2. 发送方使用自己的私钥对消息摘要进行加密,生成数字签名。
  3. 发送方将数字签名和原文一起发送给接收方。
  4. 接收方使用发送方的公钥对数字签名进行解密,得到消息摘要。
  5. 接收方使用相同的哈希函数对原文进行哈希,得到消息摘要。
  6. 接收方比较两个摘要是否相同,如果相同,则验证成功,否则验证失败。

注意:

  • hash函数不可逆,是单向的,不能通过hash函数的结果推算出原文
  • 别人的公钥你可以拥有,自己的私钥只有自己拿着。所以可以拿着自己的公私钥,和别人的公钥
  • 别人用自己私钥加密的,你可以用他的公钥解,这是数字签名(确保是他发的)。别人也可以用你的公钥加密,这个文件只有你的私钥能打开,这是密文(确保安全性)。