从零搞懂区块链(10):非对称加密

Posted 中兴大数据

tags:

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

区块链是一种分类帐本,节点之间通过共识机制形成共识。这套系统是基于密码学原理而不是基于信用,使得任何达成一致的双方能够直接进行支付,从而不需要第三方中介参与。标志着人类开始构建真正的信任互联网。

文 | 王映

图 | 闫燕

密码学的基本目的是保障不安全信道上的通信安全。基于一个重要事实:“许多聪明人都不能解决的问题,它可能不会很快得到解决”。上述事实暗示很多加密算法并没有在理论上得到严格证明,只是运行很久未发现明显弱点,没有找到攻击它的方法,从而认为它是安全的。

密码体制的设计原则:

  1. 密码算法安全强度高

  2. 密码体制安全性不依赖算法的保密性,而取决于可随时改变的密钥

  3. 密钥空间足够大。

  4. 即易于实现又便于使用。

从零搞懂区块链(10):非对称加密

从密码体制来说,密码加密分为对称加密和非对称加密两大类。

对称加密指用同样的密钥来进行加密和解密。或者由其中一个密钥很容易推算出另一个密钥。简单高效,但用户数量多时,难以管理。难以实现“不可否认”功能。

非对称加密指用一个密钥对来进行加密和解密。加密和解密使用不同的密钥,由加密密钥不能推算出解密密钥,反之亦然。非对称密码体制的安全性取决于私钥的保密性。

从零搞懂区块链(10):非对称加密

下图以某个明文为例,说明分别采用对称加密和非对称加密的信息传递过程。

从零搞懂区块链(10):非对称加密

以上的非加密过程,采用了两个不同的密钥。使用密钥A来加密,但使用密钥A不能用来解密,必须使用密钥B来解密,而密钥B只有B有,就可以保证信息的安全性。

在实际使用时,我们通常是把密钥A通过网络或资料附件的形式发送给对方,也可以理解为在网上公开,因为在传递过程中有可能被黑客破解,所以密钥A默认是置于公开场合的,称为“公钥”。而密钥B只保留在自己手中,任何时候都不可以出示给其他人,称为“私钥”。通过公钥加密的信息,在网上即使被截获,也无法解密,因为公钥加密后的信息,不能再通过公钥解密,而必须使用私钥来解密,所以可以保证信息的安全性。

从零搞懂区块链(10):非对称加密

非对称加密还被广泛地用于对信息进行数字签名,以确保消息的来源是可靠的。这个过程和上面类似,也会用到公钥和私钥。签名的过程如下图所示。只要接收人B使用发送人A的公钥,能够正确解密这个文件,则说明这个文件来源于A无疑,否则信息就是被他人篡改过的,是不可信的。

从零搞懂区块链(10):非对称加密

由上图我们可以看到,数字签名不能替代加密,因为签名时所使用的是私钥,需要对方使用公钥来解密,而公钥是不安全的。

说到这里,大家可能已经想到了,把上述加密和签名的过程二合一,不就完美了吗?即可以加密信息,还能确保信息来源可靠。的确,这就是区块链中使用的非对称加密措施。信息发送者用私钥对信息进行签名,使用信息接收方的公钥对信息加密。信息接收方用信息发送者的公钥验证信息发送者的身份,使用自己的私钥对加密信息进行解密。

这种场景需要用到4个密钥,分别是发送者A的私钥和公钥,以及接收者B的私钥和公钥。下面我们举例说明这项工作是如何进行的:

发送方A向接收方B发送一封机密信件消息,为了不让消息泄密,并对消息来源进行确认,需与A、B双方协商好,采用非对称加密措施。

第一步:A对写好的信息,用自己的私钥加密

第二步:第一步的基础上,A再对加密后的消息用B的公钥进行第二次加密。

第三步:A把两次加密的信息通过网络传送给B,在这一过程中,网络上的黑客有可能获取到所发送的消息,也可以获取到A和B的公钥,因为公钥是公开的。但是,上述第二步中使用了B的公钥加密,则必须使用B的私钥来解密。而私钥是不中网络中传送的,黑客无法获取私钥。所以黑客截取了消息也无法阅读信息内容,只能看到一堆乱码。

第四步:B接收到A发来的消息后,使用自己的私钥对消息进行解密,就可以看到消息正文了。但是如何知道看到的消息是来自于A而不是由其他人伪造的呢?

第五步:B使用A的公钥,对第四步解密出来的消息再次进行解密,如果解密成功,则证明消息的确来自于A,否则就是伪造的。因为A的公钥只能解密出经过A的私钥加密的信息,不能解密其它形式的信息。

最终,A和B之间成功完成了消息的加密传输,并且能够确认信息来源是可靠的。

从零搞懂区块链(10):非对称加密

上述过程中数字签名,其实和我们平时的手写签名的作用是一样的,都是用来对信息进行确认,防止信息篡改,使一个实体身份与某个信息捆绑在一起。一个消息的数字签名实际上是一串字符,它依赖于签名者的某个秘密,也依赖于被签名的信息本身。数字签名基于两条基本假设:

  1. 私钥是安全的  

  2. 产生数字签名的唯一途径是使用私钥

(to be continued...)


「从零搞懂区块链」系列文章:

第一部分:了解帐本




第二部分:区块链系统入门



第三部分:区块链基本技术





 

大数据时代的思考和洞察

长按二维码关注

以上是关于从零搞懂区块链(10):非对称加密的主要内容,如果未能解决你的问题,请参考以下文章

新时代区块链底层技术——非对称加密

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

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

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

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

区块链100问 | 对称加密是什么?非对称加密又是什么?