码迷,mamicode.com
首页 > 编程语言 > 详细

非对称加密算法的思考

时间:2018-06-23 20:51:30      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:随机   开始   森林   情况   nbsp   假设   必须   制造   联网   

想跟行外人士讲清楚非对称加密,似乎不是个容易的事情。

大概用快递(或邮寄)来打比方是比较合适的方法。

场景:北京的张小发,要给纽约的李小收发个快递,假设是一块形状不确定的金块,2公斤。

张小发把这块金块用密码箱装好锁好,设置密码为396173(随机的,没有含义),然后把箱子交给快递员,快递员通过公司的系统把箱子发出去。张小发通过电话把密码告诉李小收。李小收在收到箱子之后,用这个密码把箱子打开,拿到完整的金块。完毕。

这是一个正常的完整的顺利的快递流程。

那么,接下来,开始出现可能的问题。

从北京到纽约的快递,中间可能倒过无数次的手,任何人都无法保证“没有人想打开这个箱子看看里面是什么东西这么重”,就像黑暗森林理论,黑暗森林中要假设任何人都不可相信。

实际上,采用电话告知这种方式,在不破坏箱子的情况下,是安全的,别人解不开这个密码锁(咱不说暴力尝试破解的情况)。

 

在互联网上,前面提到的金块,就是信息。密码箱,就是加密算法。装了金块的密码箱,就是经过加密算法包装了的信息。

那么,鉴于双方都是机器,要从北京发往纽约的一段信息,是没有办法通过打电话的方式告知对方密码的,一切都只能靠网络传输。

就相当于在人类的世界中,在电话发明之前,如果你想让对方能够解开密码锁,就只能让快递员转达,或者单独寄一封信,而这封信,也只能通过这个快递员发出去(别提火封),那么就等于这个密码箱对快递员是公开的,可以想象,这是很危险的事情。

所以,人们发明了一种方法。既要送金块,又不让别人看里面的东西。

每个人可以制造一种箱子,这种箱子的钥匙,只有箱子的主人本人有,就像你家门钥匙一样,这个就是私钥。

现在,张小发要给李小收发快递,先给李小收寄了一封信,让他发一个箱子过来(也可以是预存在张小发家里的,就像顺丰的快递单;也可以想像成李小收能量巨大,地球上任何地方都可以买到李小收的快递箱,总之可以获得未上锁的李小收的箱子),这个箱子,只有李小收本人用私钥可以打开。那么,李小收的箱子,就是公钥,拿到时必须是未上锁的,一旦东西放进去,盖子合上(公钥加密),就只有李小收能打开了。

 

这就是非对称加密算法的形像化过程。

 

非对称加密算法的思考

标签:随机   开始   森林   情况   nbsp   假设   必须   制造   联网   

原文地址:https://www.cnblogs.com/Sabre/p/9218351.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!