数字签名
来源:互联网 发布:传奇变速源码 编辑:程序博客网 时间: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内置在浏览器里,他改不了:)
好了,现在你收到的是我发的,且没有被篡改过
阅读全文
0 0
- 数字签名
- 数字签名
- 数字签名
- 数字签名
- 数字签名
- 数字签名
- 数字签名
- 数字签名
- 数字签名
- 数字签名
- 数字签名
- 数字签名
- 数字签名
- 数字签名
- 数字签名
- 数字签名
- 数字签名
- 数字签名
- 判断HTML页面是点击历史返回打开,还是正常跳转打开
- 代理模式之静态代理
- Leetcode c语言-Two Sum
- 1、LambdaToSql 发布1.0.0.1版本
- frm表单-参数面板时间控件默认值问题总结
- 数字签名
- docker-数据管理
- Linux系统负载
- 浅谈Redis---(1)
- 题目20:吝啬的国度
- Mybatis+mysql+allowMultiQueries=true
- 代理模式之动态代理
- Mac下Navicat的安装及破解
- Apache与Nginx比较(Nginx 高并发情况常用,必须学习)