LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 三分钟了解对称加密和非对称加密是如何工作的?比特币为什么会用非对称加密

三分钟了解对称加密和非对称加密是如何工作的?比特币为什么会用非对称加密

2020-02-23 金马 来源:区块链网络


前段时间,我做了一个视频 三分钟讲清楚比特币,在这个视频中,我分享了了解比特币的一个基本事实和两个核心, 其中第一个核心就是数字签名,数字签名保证了谁都无法拿到我们的账户权限,而 POW 工作量证明保证谁都不可以随便更改我们的账户余额,最终这两个核心保证比特币资产神圣不可侵犯。

而数字签名的根本就是密码学,今天我讲讲加密的事情。

比特币的安全性依赖于数字签名技术的安全性

在《比特币:一种点对点的电子现金系统》( Bitcoin: A Peer-to-PeerElectronic Cash System )的第二章《交易》里定义:

一枚电子货币( an electronic coin )是这样的一串数字签名:每一位所有者通过对前一次交易和下一位拥有者的公钥( Public key ) 签署一个随机散列的数字签名,并将这个签名附加在这枚电子货币的末尾,电子货币就发送给了下一位所有者。而收款人通过对签名进行检验,就能够验证该链条的所有者。

其中提到的数字签名方案,无论是 RSA,还是 ECDSA 或 Schnorr 加密算法,都是非对称加密算法

那么什么是非对称加密?什么又是对称加密?

对称加密( Symmetric Cryptography )

对称密钥加密,又称私钥加密。是指信息的发送方和接收方采用同一个密钥去进行数据的加密和解密。如下图所示:



(图片来源:https://hackernoon.com/how-does-symmetric-and-asymmetric-public-key-cryptography-work-i6dy37pl)

优点:加密/解密速度快,适合大数据量加密
缺点:密钥的管理与分配存在风险

如何把密钥发送到接收方(需要解密数据的人)?如果接收方住在我们小区,那么可以把密钥抄纸上,直接跑过去给他。但是,如果他住在别的城市,别的国家,怎么办?邮寄吗?太慢!通过 Email 发送吗?被黑客拦截了怎么办?

为了解决这个问题,就有了非对称加密。

非对称加密( Asymmetric Cryptography )

非对称加密,又称公钥加密,它解决了对称加密的缺陷,使得比特币更安全。
非对称加密和对称加密,两者的主要区别在于:对称加密使用共享(单一)密钥加密解密数据,而非对称加密使用密钥对解密数据。如下图所示,两把钥匙不同。


(图片来源:https://hackernoon.com/how-does-symmetric-and-asymmetric-public-key-cryptography-work-i6dy37pl)

优点:安全性高,解决了对称加密的缺陷
缺点:加密和解密速度比对称密钥加密慢

非对称加密使用的密钥对,就是公钥(public key)和私钥(private key)。公钥可以对外发布,人人可见。而私钥则自己保管,不外泄。

非对称加密使用这密钥对中的一个密钥进行加密,另一个密钥进行解密。比如用公钥加密,那么用私钥解密。用私钥加密,就用公钥来解密。

用公钥加密信息,用私钥解密信息

举个例子,小明和小王是特工,使用非对称加密算法保证信息传递的安全。

1、小明和小王,都知道对方的公钥。
2、小明发送“任务 A ”给小王。小明使用小王的公钥对信息加密。加密之后,信息变成 “XXXXXXX”。就算信息被有心人截获,由于没有小王的私钥,也无从解密,不能得知“任务A”的信息,更不能进行篡改。
3、小王收到信息,用自己的私钥去解密信息,读取“任务 A ”。
4、接着,小王通过小明的公钥,把回馈“已收到,任务 A 开始执行”用小明的公钥加密,发给小明。
5、同理,小明用自己的私钥解开信息。而第三人因为没有小明的私钥,就算捕获信息,也不能读取内容,更不能篡改。

用私钥加密信息,用公钥解密信息

这种情况是用来确保:信息是由私钥拥有方发布的,且是完整的、正确的。这被称作数字签名。公钥的形式就是数字证书。

举个例子,银行发布一个客户端补丁供所有用户更新。

1、为了确保客户下载的是完整、正确、没有被篡改的补丁,银行为这个补丁打上一个数字签名,就是用银行的私钥对这个程序加密,然后发布。
2、小明的电脑里,已装有银行的数字证书,就是银行对外发布的公钥
3、小明下载补丁,用数字证书(公钥)去解密这个补丁的数字签名,如果解密成功,补丁才能安装使用。

通过数字证书(公钥)解密,小明知道这个补丁确实是银行发布的,是完整的、正确的、没有动过手脚的,可以放心使用。

非对称加密在区块链中的主要应用

1、身份验证:通过私钥验证身份,是否拥有对应的公钥,对应的钱包地址。
2、加密:加密过程中,编码信息,只有拥有私钥的人,才能解密和阅读经过加密的区块链数据。

总结

打个简单的比方,对称加密,就像你家大门的钥匙,丢了它,捡到钥匙的人就可以通过这把钥匙打开你家大门,有失窃的可能。非对称加密,就像一对钥匙AB,而且是锁门是钥匙 A,开门是钥匙 B,那么就算你丢了锁门的钥匙 A ,拿到钥匙 A 的人,也不能打开你家大门,家里还是安全的。

总之,非对称加密让区块链技术更安全,更健壮。看完这篇,对称加密和非对称加密你了解了吗?欢迎留言讨论。

参考文章

《比特币白皮书:一种点对点的电子现金系统(吴忌寒翻译版)》
《How Does Symmetric and Asymmetric Public Key Cryptography Work?》
《如何用通俗易懂的话来解释非对称加密?》

「注意」 我是金马,牛市启动,一起稳住?
币圈金马奖,和你一起走币圈这条光明大道。
希望和你成为朋友,我的微信:lijinma789


—-

编译者/作者:金马

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...