vlambda博客
学习文章列表

20、什么是非对称加密?

对称加密算法在加密和解密时使用的是同一个秘钥,而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(简称公钥)和私有密钥(简称私钥)。 这两个秘钥是不对称,不一样的。

公钥和私钥一 一对应,私钥需要保密,而公钥则是可以公开的。加密和解密不是用同一个密钥。如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。

非对称加密是迄今为止最安全的加密方式,而且比特币用9年的时间,发送了上几百万次交易,被黑客攻击了几万次都没有破解过的加密方式。

举例说明:你朋友去配了一对钥匙(钥匙A和钥匙B),钥匙A上锁柜子之后,必须要钥匙B才能开锁柜子。你朋友把钥匙A邮寄给你,你用这把钥匙把信件锁到柜子中,然后将柜子邮寄给你朋友,你朋友用钥匙B打开柜子取出信件。细心的小伙伴又想到了,朋友把钥匙A寄给自己的时候,可能会被快递人员偷配钥匙,但是快递人员即使持有钥匙A,他也不能打开柜子,因为钥匙A上锁柜子之后,只有钥匙B才能开锁,整个过程,钥匙B一直在朋友手上,只要朋友不把钥匙B弄丢,这个柜子就只能由朋友打开。

在非对称加密中,钥匙A就相当于公钥,它被人知道也没有关系,钥匙B相当于私钥,它需要持有人小心保存,不能丢失。“上锁柜子”和“开锁柜子”相对于“加密过程”和“解密过程”。比特币公钥就是通过私钥推导而来,公钥继续转换变成账户地址,而且是不能反向推导出私钥的,用户需要妥善保管好自己的私钥。

区块链中当别人给你转账的时候,你的收款地址(公钥)是公开给他人的,而转入的资产只有持有私钥的你才可以“解密”它,对它自由支配。