公钥和私钥的简单通俗说明
私钥加密公钥可以解密
公钥加密私钥可以解密
小明想秘密给小英发送消息 小英手里有一个盒子(public key),
这个盒子只有小英手里的钥匙(private key)才打得开
小英把盒子送给小明(分发公钥) 小明写好消息放进盒子里,锁上盒子(公钥加密)
小明把盒子寄给小英(密文传输) 小英用手里的钥匙打开盒子,得到小明的消息(私钥解密)
假设小刚劫持了盒子,因为没有小英的钥匙,他也打不开
其实公钥和私钥都可以用来加密或解密---只要能保证用A加密,就用B解密就行。至于A是公钥还是私钥,其实可以根据不同的用途而定。
例如说,如果你想把某个消息秘密的发给某人,那你就可以用他的公钥加密。因为只有他知道他的私钥,所以这消息也就只有他本人能解开,于是你就达到了你的目的。
但是如果你想发布一个公告,需要一个手段来证明这确实是你本人发的,而不是其他人冒名顶替的。那你可以在你的公告开头或者结尾附上一段用你的私钥加密的内容(例如说就是你公告正文的一段话),那所有其他人都可以用你的公钥来解密,看看解出来的内容是不是相符的。如果是的话,那就说明这公告确实是你发的---因为只有你的公钥才能解开你的私钥加密的内容,而其他人是拿不到你的私钥的。
最后再说一下数字签名。
数字签名无非就两个目的:
证明这消息是你发的;
证明这消息内容确实是完整的---也就是没有经过任何形式的篡改(包括替换、缺少、新增)。
其实,上面关于“公告”那段内容,已经证明了第一点:证明这消息是你发的。
那么要做到第二点,也很简单,就是把你公告的原文做一次哈希(md5或者sha1都行),然后用你的私钥加密这段哈希作为签名,并一起公布出去。当别人收到你的公告时,他可以用你的公钥解密你的签名,如果解密成功,并且解密出来的哈希值确实和你的公告原文一致,那么他就证明了两点:这消息确实是你发的,而且内容是完整的。(转载知乎用户)
链接:https://www.zhihu.com/question/25912483/answer/31656330
来源:知乎
转载于:https://www.cnblogs.com/suanshun/p/7363694.html
公钥和私钥的简单通俗说明相关推荐
- Git简单生成公钥和私钥的方法及git ssh key配置
Git简单生成公钥和私钥的方法 Git安装完之后,需做最后一步配置.打开git bash,分别执行以下两句命令 git config --global user.name "用户名" ...
- 深入浅出 - 公钥、私钥和数字签名最通俗的理解
一.公钥加密 假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看,我就用1加密了.别人找到了这个 ...
- Git简单生成生成公钥和私钥方法
Git配置 Git安装完之后,需做最后一步配置.打开git bash,分别执行以下两句命令 git config --global user.name "用户名" git conf ...
- 对称加密、非对称加密、公钥、私钥究竟是个啥?
文章目录 前言 对称加密 对称加密示例 对称加密的问题 密钥配送 非对称加密 公钥与私钥 非对称加密的示例 怎么判断解开 非对称加密的问题 对称加密和非对称加密对比 总结 前言 世界上有没有不能破解的 ...
- 公钥和私钥怎么生成_有趣图文帮你通俗易懂地理解公钥和私钥的区别以及与CA证书等概念...
导读:Linux系统上非对称性加密需要用到公钥.私钥.也常涉及到数字签名.数字证书.CA证书等概念.本文通过有趣的海绵宝宝和它小伙伴故事搭配有趣的图片形式来阐述这些概念,希望能帮助读者更简单易懂地理解 ...
- 怎样理解公钥,私钥和数字签名
怎样理解公钥,私钥和数字签名 一.公钥加密 假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看, ...
- Https 公钥、私钥、证书
1.https的握手协议: http://blog.csdn.net/clh604/article/details/221799072.证书的概念:http://blog.csdn.net/sealy ...
- TLS就是SSL的升级版+网络安全——一图看懂HTTPS建立过程——本质上就是引入第三方监管,web服务器需要先生成公钥和私钥,去CA申请,https通信时候浏览器会去CA校验CA证书的有效性...
起初是因为HTTP在传输数据时使用的是明文(虽然说POST提交的数据时放在报体里看不到的,但是还是可以通过抓包工具窃取到)是不安全的,为了解决这一隐患网景公司推出了SSL安全套接字协议层,SSL是基于 ...
- 45号:公钥,私钥和数字签名
一.公钥加密 假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看,我就用1加密了.别人找到了这个 ...
最新文章
- 浅析epoll – epoll例子以及分析 - C++爱好者博客
- 【DP、线段树优化】琪露诺
- LG P4198 楼房重建(线段树)
- #和##在宏替换中的作用
- Oracle 安全性一
- Python3.x连接MySQL数据库,SQL语句使用方法
- SSLH:让 HTTPS 和 SSH 共享同一个端口
- 如何用相机拍出天空漂亮的云朵
- 国标视频平台搭建(七)配置https访问
- 记PMP 考试2021/06/20总结(含笔记)
- webpack解惑:require的五种用法
- 清华本科生0人去阿里,交叉信息院硕士没人再深造
- 考研数学模拟卷经典题总结
- Windows 程序设计基础
- 抖音seo企业号开发在线客服关键系统上线.技术源代码mvc架构搭建
- Python项目实战:数据可视化与股票数据分析-关东升-专题视频课程
- 微软行星云计算Planetary Computer——从 STAC API 读取数据
- Oday安全 12.3.1Ret2Libc实战之利用ZwSetInformationProcess一节注记(上)
- React里里面试准备
- 这Dockerfile文件的后缀是什么