马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

图解公钥与私钥

  [复制链接]
查看3896 | 回复8 | 2019-11-8 09:57:11 | 显示全部楼层 |阅读模式
在学习ssh时,肯定有不少人对公钥和私钥产生过不解。在搜索公钥跟私钥的明确时,发现了这篇风趣的图解小文章,与各人共享。
1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥。
095747qbdjnqeq55besd55.png

2. 鲍勃把公钥送给他的朋侪们----帕蒂、道格、苏珊----每人一把。
095758abeza3w2757ej5n3.png

3. 苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以到达保密的效果。
095759sngseu1p3nopt7ag.png

4. 鲍勃收信后,用私钥解密,就看到了信件内容。这里要夸大的是,只要鲍勃的私钥不泄漏,这封信就是安全的,纵然落在别人手里,也无法解密。
095759kbxlc7xb8bpaupmt.png

5. 鲍勃给苏珊复书,决定采取"数字签名"。他写完后先用Hash函数,生成信件的择要(digest)。
095759dse4siemiea3ksd0.png

6. 然后,鲍勃利用私钥,对这个择要加密,生成"数字签名"(signature)。
095800ym2w9p05p544xfwo.png

7. 鲍勃将这个签名,附在信件下面,一起发给苏珊。
095800bt978vvvthbho0tz.png

8. 苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的择要。由此证实,这封信确实是鲍勃发出的。
095800q8rv0comqqgtggwo.png

9. 苏珊再对信件自己利用Hash函数,将得到的效果,与上一步得到的择要举行对比。如果两者划一,就证实这封信未被修改过。
095812hgjlyfk8cijy78qj.png

10. 复杂的情况出现了。道格想诱骗苏珊,他偷偷利用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊现实拥有的是道格的公钥,但是还以为这是鲍勃的公钥。因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥举行解密。
095813wzfsjjonfpviists.png

11. 厥后,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对鲍勃的公钥和一些相干信息一起加密,生成"数字证书"(Digital Certificate)。
095813lvneqsh2z2fcj53c.png

12. 鲍勃拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。
095814k2xphmo3xqqmqn3p.png

13. 苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证实"数字签名"是否真的是鲍勃签的。
095814trq822t7a8hh822s.png

14. 下面,我们看一个应用"数字证书"的实例:https协议。这个协议重要用于网页加密。
095816vy3ye3ciy6ip33yq.jpg

15. 起首,客户端向服务器发出加密哀求。
095817s0t9205dp09a05z1.png

16. 服务器用自己的私钥加密网页以后,连同自己的数字证书,一起发送给客户端。
095818d7j55uuzioj78te5.png

17. 客户端(欣赏器)的"证书管理器",有"受信托的根证书颁发机构"列表。客户端会根据这张列表,检察解开数字证书的公钥是否在列表之内。
095818h069cco00fi9ihct.png

18. 如果数字证书纪录的网址,与你正在欣赏的网址不划一,就说明这张证书大概被冒用,欣赏器会发出告诫。
095830nlp21libz16b60yy.png

19. 如果这张数字证书不是由受信托的机构颁发的,欣赏器会发出另一种告诫。
095831yvgoi7xxg8gzbow5.jpg

095831hssxglx0vemxn1sn.png

翻译自:http://www.youdzone.com/signature.html
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则