本文主要是介绍何为数字签名?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先看下非对称加密的过程:
正常情况下,最后B收到了A发来的信息”晚上小树林见“
如果中间有个第三者的话,第三者可以截取A发给B的消息
并且自己伪造了A发给B的消息,于是B就失恋了
数字签名就是为了证明”B收到的消息是A发来的,而不是别人伪造的“
证明点:A的privite key 只有A有
A把自己的信息经过Hash函数生成一个摘要(digest)然后用自己的private key 加密
A发给B的内容有:
(1)用B的public key加密的密文
(2)用A的private key加密的摘要(digest)
其中 用A的private key加密的摘要 就是我们所说的数字签名
第一步:B 收到 (1) 用自己的private key 进行解密,把解密出的内容进行相同的哈希
第二步:B 收到 (2) 用A的public key 进行解密得到信息摘要
第三步:前两步得到的值一样,就说明消息的确是A发来的,并且没有被修改过
“数字签名”就是在”证明我是我“
“数字证书”就是在“证明你是你”
只希望知识简单易懂,如果本文有误请联系我
这篇关于何为数字签名?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!