数字签名

来源:互联网 发布:传奇变速源码 编辑:程序博客网 时间:2024/06/08 10:04

数字签名是个啥

目的:证明你收到的是我发的,且没有被篡改过

情景1:

我给你写信,让你给我打100块钱,账号:123456

他拦截了我的信,把账号改成:654321

Duang~~~钱没了

解决方案1:

我有两把钥匙priKey和pubKey,priKey加密的信只能用pubKey解密

我把pubKey发给你

我把我的信Hash一下,把Hash的结果用priKey加密,得到的就是数字签名

我把数字签名加到信里一起发给你

你用我的pubKey解密数字签名

你把收到的信Hash一下,和解密后的数字签名做对照

如果一样,是我发的,且没有被篡改;否则,就不是

情景2:

我发给你的pubKey被他拦截了

他把他的pubKey发给你

他把他篡改的信Hash一下,把Hash的结果用他的priKey加密,得到的就是数字签名

他把数字签名加到信里一起发给你

你用他的pubKey解密数字签名

你把收到的信Hash一下,和解密后的数字签名做对照

是一样

Duang~~~钱又没了

解决方案2:

我去申请一个数字证书,证书用知名机构的priKey加密,里有我的pubKey

我把我的信Hash一下,把Hash的结果用priKey加密,得到的就是数字签名

我把数字签名和数字证书加到信里一起发给你

你用知名机构的pubKey解密,得到我的pubKey

你用我的pubKey解密数字签名

你把收到的信Hash一下,和解密后的数字签名做对照

如果一样,是我发的,且没有被篡改;否则,就不是

情景3:

他篡改了知名机构的pubKey



no!!!

知名机构的pubKey内置在浏览器里,他改不了:)

好了,现在你收到的是我发的,且没有被篡改过

原创粉丝点击