美文网首页简书优秀文章区块链研习社区块链研究
【区块链启蒙2#】两把魔法棒:非对称加密

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

作者: 62e2127aa6f5 | 来源:发表于2018-05-01 12:10 被阅读25次

    00 前言

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

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

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

    2.1 非对称加密

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

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

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

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

    2.2 举例子:魔法棒、秘钥

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

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

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

    2.3 敲黑板:公钥、私钥

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

    这意味着什么呢?

    不急,听笔者慢慢道来。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    ……

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

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

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

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

    2.4 下节预告

    事情完美解决了吗?

    未必。

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

    鲍勃能识破他的诡计吗?

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

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


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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/havtrftx.html