深入浅出 - 公钥、私钥和数字签名最通俗的理解
一、公钥加密
假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。
我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用数字2,就是我的私钥,来解密。这样我就可以保护数据了。
我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了这个文件,但是别人解不开,因为别人不知道2就是我的私钥,只有我才能解密,解密后就得到a。这样,我们就可以传送加密的数据了。
二、私钥签名
如果我用私钥加密一段数据(当然只有我可以用私钥加密,因为只有我知道2是我的私钥),结果所有的人都看到我的内容了,因为他们都知道我的公钥是1,那么这种加密有什么用处呢?
但是我的好朋友x说有人冒充我给他发信。怎么办呢?我把我要发的信,内容是c,用我的私钥2,加密,加密后的内容是d,发给x,再告诉他解密看是不是c。他用我的公钥1解密,发现果然是c。
这个时候,他会想到,能够用我的公钥解密的数据,必然是用我的私钥加的密。只有我知道我得私钥,因此他就可以确认确实是我发的东西。
这样我们就能确认发送方身份了。这个过程叫做数字签名。当然具体的过程要稍微复杂一些。用私钥来加密数据,用途就是数字签名。
总结:公钥和私钥是成对的,它们互相解密。
公钥加密,私钥解密。
私钥数字签名,公钥验证。
深入浅出 - 公钥、私钥和数字签名最通俗的理解相关推荐
- 一个故事讲解公钥私钥和数字签名,很深刻!
关于公钥私钥和数字签名, 通过一个发送邮件的故事让大家有一个深刻的理解,非常棒的案例: http://www.blogjava.net/yxhxj2006/archive/2012/10/15/389 ...
- 怎样理解公钥,私钥和数字签名
怎样理解公钥,私钥和数字签名 一.公钥加密 假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看, ...
- 公钥,私钥和数字签名
一.公钥加密 假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看,我就用1加密了.别人找到了这 ...
- (转)公钥,私钥和数字签名这样最好理解
转自: 公钥,私钥和数字签名这样最好理解_21aspnet的博客-CSDN博客_公钥签名还是私钥签名一.公钥加密 假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们 ...
- 公钥,私钥和数字签名这样理解轻松入门!
公钥,私钥和数字签名这样理解轻松入门! 参考博文:https://blog.csdn.net/21aspnet/article/details/7249401 (公钥和私钥是成对出现的,可以把他们看成 ...
- 公钥、私钥、数字签名、数字证书、对称与非对称算法、HTTPS
2019独角兽企业重金招聘Python工程师标准>>> 对公钥和私钥有点稀里糊涂的,搜索了一些资料,作一些整理吧,先看这个: 加密--公钥 解密--私钥 签名--私钥 验证--公钥 ...
- 公钥、私钥、数字签名和数字证书的概念及解密
http协议的数据传递是明文的, 也就是从服务器传递给浏览器的内容是明文的, 这个信息如果被截取了,内容也就完全暴露了.所以大部分的互联网网站和应用使用的基本都是https协议,在申请和配置网站的ht ...
- 公钥、私钥和数字签名是什么
鲍勃有两把钥匙,一把是公钥,另一把是私钥. 鲍勃把公钥送给他的朋友们----帕蒂.道格.苏珊----每人一把. 苏珊要给鲍勃写一封保密的信.她写完后用鲍勃的公钥加密,就可以达到保密的效果. 鲍勃收信后 ...
- 公钥,私钥,数字签名,证书图解(转)
一.公钥加密 假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看,我就用1加密了.别人找到了这个 ...
最新文章
- 5年时间服务器从0到200,一个创业公司的架构野蛮生长史
- 转发萌新人鱼博客-Java面向对象-面向对象编程之基本概念
- SpaceX完成“星舰”空中悬停,距载人探火星还远吗?
- 你可以通过这13种方法帮助Linux发展
- 使用python和javascript进行数据可视化
- windows服务开发(一、安装)
- [Unity3d][NGUI]打包NGUI预制件成Assetbundle 两种思路.
- 场论 梯度 旋度 散度
- linux java Cannot allocate memory
- 匹配滤波器的仿真——线性调频信号
- linux 运行有道词典,Ubuntu中使用有道词典
- 计算机病毒和恶意软件管理制度,白城师范学院计算机病毒防治管理制度
- 施一公:优秀的科学家如何成长?
- linux安装谷歌中文,CentOS 7安装谷歌拼音中文输入法
- Lua unpack函数用法
- VirusTotal 为 Chrome 和 Firefox 发布 VT4Browsers 扩展
- NYOJ-712(动态规划)-题目----------------------------- 探寻宝藏
- 家用风扇控制系统c语言程序设计,智能风扇控制系统设计.doc
- 值得拥有的一份详细的计算机系统硬件结构清单:系统总线、存储器、I/O设备
- WJ的操作系统知识点总结
热门文章
- 学生信息管理系统c 语言程序设计报告,C语言程序设计报告(学生信息管理系统)[1].txt...
- 机器学习与计算机视觉(移动端深度学习优化框架)
- C语言和设计模式(命令模式)
- 一步一步写算法(之双向链表)
- linux怎么创建牡蛎_Linux文件也有快捷方式?有的,你会用吗?
- 现在2019年读职高学计算机好吗,读职高有用吗 学什么专业有发展
- python输出文档内容_python输出文件
- mongodb和mysql创建表_MongoDB 数据库创建删除、表(集合)
- linux 项目内存吃掉,Linux内存被吃掉了,它去哪里了?
- php参数传递及数据库连接方法