为了让你快速理解对称和非对称加密,我煞费苦心…


上一篇
不少 b 友都点了在看
看来大家还是对加密挺感兴趣的
那小帅b就安排起来



python




咱们之前说 mitmproxy 的时候
画了这么一个图


python



在这里面呢
可以看到

这两个人在通讯的时候
发的都是“明文”

那么作为中间人
很容易就能拿到他们传递的消息了


python


那会他们分手了
不过昨天
他们两带着身份证出去之后

就和好了
也知道他们之前的误会
是小帅b所做的勾当

(剧情需要,别杠)


于是他们就在想

python




python




python




python




python



首先

我们来了解一下啥子是对称加密


其实他们在发送消息的时候

计算机底层传输的是二进制

也就是 01010101 这些玩意



这时候如果有一把钥匙

将这些信息进行加密

也就是这样:



python




那么这个时候中间人拦截信息

得到的就是一串乱码

没有秘钥的话

就不知道这个 boy 说的是啥



而他的女票

有这个秘钥

收到消息之后

就可以通过这个秘钥解密



python




可以看到

他们在加密和解密的过程中

用到的钥匙是

一模一样



python




所以我们称之为

对称加密

这种加密的算法最常见的就是

DES


这种方式

对于少部分人使用还是挺好

但是如果涉及到很多用户的话


那就麻烦了

要生成很多的秘钥和分发

而且安全性不是很高的



倘若哪天小帅b拿到了他们的秘钥

这不就嘿嘿嘿了么?



python




python



python



python




python



那么

有木有安全性较高的呢


有的


可以让这个男孩纸

生成两个秘钥


一个是公钥

一个是私钥



公钥完全公开

谁都可以看到

小帅b可以知道这个公钥

他的女票也可以知道这个公钥



而私钥他自己好好的保留起来



python




而他的女票也是这样


python



也就是说

他们两人的公钥小帅b都可以得到

但是获取不到他们各自的私钥



而通过男孩纸公钥加密的内容

只能通过男孩纸的私钥解密


通过女孩纸公钥加密的内容

只能通过女孩纸的私钥解密



那么此时此刻

男孩纸有了女孩纸的公钥

女孩纸有了男孩纸的公钥



男孩纸要给女孩纸发信息

只要根据这个女孩纸

的公钥加密就行




python




这时候小帅b拦截下来的信息

没有他女票的私钥是无从下手的



而他女票收到加密信息之后

只要通过自己的私钥

就可以轻松解密了



python





从此他们又能愉快的玩耍了


这就是非对称加密

在加密和解密的过程中

用了不同的钥匙

它的最常见算法就是 RSA 



OK

这篇主要让你了解

对称加密和非对称加密

下一篇我们继续玩耍


peace



python

扫一扫

学习 Python 没烦恼


python





      点个在看啊~~(破音)

python

原文始发于微信公众号(学习python的正确姿势):python

发表回复