非对称加密

这个词大家可能没怎么听过,但“公钥”和“私钥”这两个词想必大家不陌生。其实,“公钥”和“私钥”就是非对称加密里的概念。
非对称加密这名字有点奇怪,加密就加密,还来个什么“非对称”,难不成还有个对称加密?还真聪明,你。没错,其实最早最原始的加密方法就是对称加密,那会还没发展出非对称加密,所以它就叫加密,后来,非对称加密发明出来了,大家为了区分,才分别称之为“对称加密”和“非对称加密”。

我们先来看看什么是对称加密。
    小明和小花是班上的一对恋人,上课的时候,经常按耐不住想要写几句情话,传个纸条给对方。可是他们的座位并不挨着,中间还坐着个小光。还好,小光同学乐于助人,急人所急,经常帮他俩传不言累。但是,小光同学好奇心实在太重了,经常偷看纸条的内容。小明和小花一想到赤裸裸的情话被第三者看到,就脸红脖子粗,决定想个办法。他们想到的办法就是加密。
有一天下课,小明跟小花说:“以后咱们把要写的字在新华字典上找出来,然后再往后数,找到第20个字来代替要写的字,比如在新华字典,‘我’字后面第20个字是‘於’,那以后写到‘我’的地方就用‘於’,以此类推,‘我爱你’就是‘於盦廿’,同样,拿到纸条后,只要在新华字典查到对应的字,然后倒数到第20个就能还原本来的内容了。这样,即使小光偷看内容,也不知道是啥意思啦。哈哈哈哈!” 小明的办法就是对称加密,“20”就是密钥,明文是“我爱你”,密文是“於盦廿”。顾名思义,所谓对称加密就是明文可以根据密钥加密成密文,密文可以通过同一个密钥来解密出明文。注意,关键词是“同一个密钥”。

那么,非对称加密呢?我们继续看小明和小花的故事。 
    小明和小花依计而行,小光同学依然会偷偷看,不过看得是一脸懵逼。小明和小花看着他那表情,暗自得意。不过他们也知道,如果长期用同一个密钥的话,不保险。所以两人每过一段时间,就凑在一起,协商一个新的密钥。但奇怪的是,有一次两人刚换完密钥,但小光同学看完之后,似笑非笑,一脸猥琐地朝他们挤眉弄眼,不像是看不懂啊。后来终于知道是怎么回事了,原来那天小明告诉小花密钥的时候,被小光偷听到了。。。

小明同学只好再次拿起《密码学原理》,苦心钻研,功夫不负有心人。小明终于找到了完美解决密钥被偷听的办法:非对称加密。关键时刻还是要读书啊! 非对称加密咋这么牛逼呢?老规矩,在最小知识集原则下,边看特征边聊应用:

1、非对称加密有两个密钥:公钥和私钥。 私钥只有自己知道,绝对不能公开;公钥是公开的。 有两个密钥,而且两个密钥的尿性还不一样,所以才叫非对称。 在比特币系统里,我们常说的比特币地址其实是通过公钥计算得来的,所以是可公开的。而比特币地址对应的私钥,就是这里说的私钥,所以绝对不能让别人知道,谁拥有私钥,谁就拥有这个地址上的比特币。

2、公钥是通过私钥算出来的,而私钥无法通过公钥算出。  这就是解决小明问题的关键。小明和小花各生成一对公钥/私钥,然后他们完全可以通过小光用传字条的方式,把自己的公钥告诉对方。因为公钥本来就是公开的,让小光知道也无妨。这样,小明和小花以后就不要专门凑在一起来协商密钥了。这个场景可能还不能完全显示公钥/私钥的价值。我们可以想想,现实中需要加密通信的双方通常天各一方,而且很可能互不相识,这时候,你让他们去见面协查一个密钥,几乎不可能。

3、如果明文用公钥加密,那么密文只有私钥才能解密。 现在小明和小花相互知道了对方的公钥。于是,小明发给小花的信息,就用小花的公钥加密,小花收到后,再用自己的私钥解密;同样,小花给小明写纸条,用小明的公钥解密,小明拿到后用自己的私钥解密。从此,小明和小花再也不担心小光的偷看了,那个畅快! 我们用最常用的非对称加密算法RSA(比特币用的非对称加密算法叫ECC,椭圆曲线加密,算法不同,套路一样)来加密“我爱你”试试。 首先,先生成一个私钥/公钥对,有很多网站可以做这事。生成如下(太长了,截图展示):

非对称加密

私钥

非对称加密

公钥

然后,用公钥加密“我爱你”,如图:

非对称加密

加密出来的密文就是橙色框框里那一串。

 4、用私钥解密密文,如图:

非对称加密

出来的果然是“我爱你”。哈哈,惊不惊喜,意不意外?

免责声明:本文转载自不死姐,不代表呐喊推文立场,且不构成投资建议,请谨慎对待。

版权声明:作者保留权利,不代表呐喊推文立场。

(1)
RvnFans的头像RvnFans
上一篇 2018年9月24日
下一篇 2018年9月24日

相关推荐

QQ交流群

① 热锅蚂蚁群:672485346

分享本页
返回顶部