【区块链启蒙2#】两把魔法棒:非对称加密

【区块链启蒙2#】两把魔法棒:非对称加密_第1张图片
【区块链启蒙2#】两把魔法棒:非对称加密_第2张图片

00 前言

本系列将以100个区块链知识为基石,循序渐进,娓娓道来,为零基础人士搭建一座区块链认知大厦。

如果有可能,未来会集结成书。

当然,愿意的话,您可以转发给身边的亲人朋友,帮助他们早日启蒙,享受区块链认知红利。

2.1 非对称加密

上一节我们聊到对称加密,对称加密中,让人纠结的是,加密算法不能泄露,但似乎又没有好的办法来保证不泄露,怎么办呢?

我们换个角度来想,也许解决问题的症结不在于“算法不能泄露”,而在于“即使泄露也没有关系”。

为了解决这个问题,非对称加密被发明了出来。

笔者在刚刚接触非对称加密的时候,也为其设计之精妙所震撼。

2.2 举例子:魔法棒、秘钥

对称加密中,加密算法就像一把魔法棒,点一下,明文变密文,再点一下,密文变明文。在密码学中,可以把这把魔法棒叫做秘钥(钥匙的钥)。

秘钥并不神秘,通常是由数字或字母组成的一串字符,比如“3e98Fa4FD03CbFF7482b95aC00fc0A7DAc”。

我们知道了,对称加密中,加密和解密用的是同一把秘钥,当爱丽丝把秘钥通过网络发送给鲍勃时,就可能被窃听者拿到秘钥,从而增加了密文被破解的风险。

2.3 敲黑板:公钥、私钥

非对称加密中,加密用一把秘钥,解密用另一把秘钥,这两把秘钥必须配对使用,相互加密与解密。

这意味着什么呢?

不急,听笔者慢慢道来。

比特币加密技术中就用了一种非对称加密——椭圆曲线加密算法,由国际权威组织发布,其算法是公开的,可以编入软件供人们自由使用。

根据算法,软件像产生彩票号码一样 随机产生一对双胞胎字符串,也就是两把秘钥,一把为公钥,一把为私钥。 这两把秘钥必须配对使用。

用公钥加密,就用相对应的私钥来解密;

用私钥加密,就用相对应的公钥来解密。

一次产生两把魔法棒,想想还有点小激动呢。

为了便于理解这两把魔法棒的作用,我们可以设想一下下面的场景:

场景中的魔法棒,爱丽丝有两把,鲍勃有两把。

【爱丽丝】hi~鲍勃,我需要与你沟通机密情报,因为网络被监听,所以需要使用非对称加密技术。首先下载秘钥生成软件,你准备好了吗?

【 鲍 勃 】准备好了,我生成的公钥是“bfjeiahg823rjf92j324jf”,私钥我自己留着,不告诉任何人。

【窃听者】窃听到了鲍勃的公钥。

【爱丽丝】我用你的公钥来加密文字,现在发送给你。

【 鲍 勃 】收到,那我就用我的私钥来解密。解密成功!

【窃听者】晕!不知道鲍勃的私钥,窃听到的公钥也毫无用处,这次破解不了啦。

【 鲍 勃 】hi~爱丽丝,把你的公钥也告诉我,我用它来加密一段文字发给你。

【爱丽丝】好的,我的公钥是"asdfj8saf23jf387236r2n"。

……

【窃听者】你们公钥满天飞,私钥不露头,作为职业窃听者的我,看来要失业了!

两个人把窃听者当空气,你来我往的,很神奇吧?

具体神奇的椭圆曲线加密体系是怎么实现的,这个由密码学家来研究,我们就不费脑筋了。

当然,提醒大家,这只是为了便于说明非对称加解密的过程,才这么啰嗦的。现实中的加解密完全没有这么麻烦,全部由软件在后台自动完成,爱丽丝和鲍勃是感觉不到的。

2.4 下节预告

事情完美解决了吗?

未必。

我们设想一种情况:窃听者窃听到了公钥,于是他利用鲍勃的公钥来加密一段文字,发送给了鲍勃,企图冒充爱丽丝来制造假情报!

鲍勃能识破他的诡计吗?

下一节我们讲“数字签名”,专门解决这个问题——很精彩,请期待。

我是rruntime,立志写本书,一本可以献给家人和朋友的《区块链启蒙》,敬请支持!


本文首发币乎,已被【币乎榜bihubang.com】收录。

你可能感兴趣的:(【区块链启蒙2#】两把魔法棒:非对称加密)