区块链科普系列1——非对称加密

Posted 新兴产业观察者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了区块链科普系列1——非对称加密相关的知识,希望对你有一定的参考价值。


区块链加密介绍


区块链加密技术

区块链技术的应用和开发,数字加密技术是关键。一旦加密方法遭到破解,区块链的数据安全将受到挑战,区块链的不可篡改性将不复存在。

      加密算法一般分为对称加密和非对称加密,区块链中主要应用非对称加密算法。非对称加密指为满足安全性需求和所有权验证需求而集成到区块链中的加密技术。非对称加密通常在加密和解密过程中使用两个非对称的密码,分别称为公钥和私钥。非对称密钥对具有两个特点:一是用其中一个密钥(公钥或私钥)加密信息后,只有另一个对应的密钥才能解开。二是公钥可向其他人公开,私钥则保密,其他人无法通过该公钥推算出相应的私钥。

非对称加密应用场景

        非对称加密技术在区块链的应用场景主要包括信息加密、数字签名和登录认证等,其中信息加密场景主要是由信息发送者(记为A)使用接受者(记为B)的公钥对信息加密后再发送给B,B利用自己的私钥对信息解密。比特币交易的加密即属于此场景。数字签名场景则是由发送者A 采用自己的私钥加密信息后发送给B,B使用A 的公钥对信息解密、从而可确保信息是由A发送的。登录认证场景则是由客户端使用私钥加密登录信息后发送给服务器,后者接收后采用该客户端的公钥解密并认证登录信息。


非对称加密科普

密钥配送问题

我们在平时生活中对我们的账号、文件进行加密的时候,通常都用的都是对称密码。所谓对称密码就是加密和解密用的是同一个密码。比如我们在注册自己的微信账号时,会输入一个密码防止别人来登录。以后如果因为你手动退出,或者换了台手机需要再次登录微信的时候,只要再把这个密码输一遍就可以了。

对称密码在大多数情况下使用起来都没有问题。但是在一些特定场合,就不那么好用了。举个例子,如果小明想通过电子邮件给小红写一份情书,作为一个害羞而谨慎的人,他不想让任何其他人偷看到,于是他在这封邮件中设置了一个密码,收件人只有输入了这个密码才能看到邮件的内容。假设小红的爸爸有经常检查(tou kan)小红邮件的习惯,但如果他不知道密码,也就只能作罢。或者小明有一个情敌小强,他是个计算机高手,能够利用黑客手段截获小明和小红之间发送的邮件,但是如果邮件加了密(并且密码强度足够的话),他也只能望洋兴叹了。

非对称加密机制

针对密钥配送这一难题,密码学历史上最伟大的发明——非对称加密(公钥加密)出现了。它解决了密钥的发布和管理问题,是目前商业密码的核心。在公钥加密体制中,没有公开的是私钥,公开的是公钥。

和对称密码不同,公钥密码体系由加密和解密两组密钥构成,他们之间是不同的。信息的发送者可以通过加密密钥将信息进行加密,而接收者则会用解密密钥来进行解密。

由于加密密钥通常是可以被公开的,所以它又被称为公钥;而解密密钥是不能公开的,只能由自己来使用,所以又被称为私钥。公钥和私钥是永远是成双成对的,它们是不能分开生成的。


RSA算法

知道公钥密码的大致概念后,再来对它的实现方法作一下说明,好让我们有一个更加直观的认识。公钥密码有很多不同的实现方法,其中RSA算法是最为知名的一种,也可以说是现在公钥密码的事实标准,

RSA中的明文和密钥都是数字。首先,RSA的加密公式为:

密文=明文 a % b

密文是将明文的a次方对b求余数的结果。任何人只要知道了a和b两个数字,就可以通过这个公式把明文进行加密。换句话说,a和b共同构成了RSA加密算法的公钥。

而RSA的解密公式

明文=密文 c % b

这个公式与之前唯一不同的就是把a换成了另一个数字c,而c和b则共同构成了RSA的私钥。

把数字代进去举个更加具体的例子,

比如,小明有一个明文数字123,想要把它加密后传送给小红。同时小红手头有一组密钥对,其中公钥是(a=5,b=323),私钥是(c=29,b=323)。于是小红把公钥发给了小明。小明通过公钥来对明文123进行加密计算后,得到了密文数字225,并把它发给了小红:

密文=123 5  % 323=225

小红拿到密文之后,用自己手中的私钥进行了解密:

明文=225 29  % 323=123

这样小红就得到了原来的明文数字123,这里有很多细节被省去了,比如其中公钥和私钥中的数字5,29,323不是随便取的,而是由特定算法生成的。




注:本文关于RSA算法的相关知识参考了《图解密码技术》一书,卡通人物形象取自智汇互动工作室的《Mocmoc》系列。



以上是关于区块链科普系列1——非对称加密的主要内容,如果未能解决你的问题,请参考以下文章

烧脑文区块链科普:非对称加密椭圆曲线加密算法

干货!区块链从业者必备知识!——科普:非对称加密椭圆曲线加密算法

区块链非对称加密的简单科普

科普|区块链100问:60非对称加密算法

区块链科普篇——非对称加密

区块链趣味科普什么是非对称加密