深刻理解什么是数字签名

Posted 小猪快跑22

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深刻理解什么是数字签名相关的知识,希望对你有一定的参考价值。

数字签名是用来核实发送消息方身份的,能够确保消息没被篡改。
数字签名采用的是非对称加密。
举个例子,小明要给小红发送一份邮件:

  1. 小明生成密钥对,公钥和私钥,公钥自己保存,不让任何人知道;公钥给小红。
  2. 小明将邮件的内容通过 hash 算法生成数字摘要
  3. 小明使用私钥加密数字摘要生成数字签名
  4. 小明将要发送的内容和数字签名一起发送给小红。
  5. 小红收到内容和签名后,使用公钥解密数字签名得到数字摘要 — a1。
  6. 小红使用相同的 hash 算法将内容生成数字摘要 — a2,比较 a1 和 a2 是否相等,如果相等则说明邮件未被篡改。

注意:数字签名是使用非对称加密算法对内容的 hash 值进行加密,而不是对内容本身加密。

以上是关于深刻理解什么是数字签名的主要内容,如果未能解决你的问题,请参考以下文章

十分钟深刻理解Java高级特性——反射

10分钟深刻理解 Java高级—— 注解

深刻的理解Fragment生命周期 都在做什么,fragment生命周期

十分钟深刻理解 Java高级——泛型

JS对象深刻理解 - 1

您对 C、C++ 和 Java 中的指针、引用和句柄有啥深刻的理解?