首页 > 区块链 > 正文

区块链之所以能够去信任的关键技术:非对称加密

2019-07-19 15:19:01  来源:网界网

摘要:在《想要安全地保管资产,先要知道钱包的这些知识》中,我们可以了解到在区块链的这些钱包中,什么是私钥,什么是公钥。
关键词: 区块链
  在《想要安全地保管资产,先要知道钱包的这些知识》中,我们可以了解到在区块链的这些钱包中,什么是私钥,什么是公钥。
 
  公钥可以比作是银行账户,而账户地址类似于银行卡号,私钥可以被看成银行卡号以及银行卡密码的组合。这样一类比似乎对区块链中的私钥、公钥、地址这些名词有了比较清晰的认识,但是其实在这些名词的背后的理论支撑是非对称加密技术,它是什么样的技术呢,今天大白就给大家科普一下。
 
  首先,在讲非对称加密之前,先简单讲一下对称加密。
 
  对称加密也叫做单密钥加密,指的是用同一个密钥对信息进行加密和解密。简单讲就是上锁和开锁都是一把钥匙。
 
  比如在现实生活中,你想寄一封信给你的朋友,为了信的内容不被他人剽窃,你会想着用一把钥匙把信件锁在安全的柜子里,然后再将物品连同柜子一起寄给朋友,而你的朋友只能用你这把钥匙才能打开这个柜子进而取出信件。这样一来就保证了信件在邮寄过程中不被他人看到。在密码学中以上过程可以理解为“上锁”和“开锁”都用的同一把钥匙,这把钥匙就相当于对称加密中的“私钥”,而“上锁”和“开锁”过程就相当于“加密”和“解密”过程,“信件”则是我们要加密的信息,信息加密后则是“密文”,解密后则是“明文”。
 
  但是细心的小伙伴可能会想到,信件上锁放入柜子固然安全,但是开这个柜子必须要用上锁的那把钥匙,那么问题是这把钥匙怎么给朋友?钥匙一旦选择邮寄,那就存在安全隐患,除非亲手把钥匙给朋友,那这样的话干嘛不亲手把信件直接给朋友。所以对称加密的一个问题是密钥配送困难问题。
 
  针对密钥配送这一难题,密码学史上伟大的发明——非对称加密出现了。
 
  非对称加密有一对密钥,分别是私钥和公钥,公钥和私钥一一对应,私钥需要保密,而公钥则是可以公开的。加密和解密不是用同一个密钥。
 
  回到之前的例子,你朋友去配了一对钥匙(钥匙A和钥匙B),钥匙A上锁柜子之后,必须要钥匙B才能开锁柜子。你朋友把钥匙A邮寄给你,你用这把钥匙把信件锁到柜子中,然后将柜子邮寄给你朋友,你朋友用钥匙B打开柜子取出信件。细心的小伙伴又想到了,朋友把钥匙A寄给自己的时候,可能会被快递人员偷配钥匙,但是快递人员即使持有钥匙A,他也不能打开柜子,因为钥匙A上锁柜子之后,只有钥匙B才能开锁,整个过程,钥匙B一直在朋友手上,只要朋友不把钥匙B弄丢,这个柜子就只能由朋友打开。
 
  在非对称加密中,钥匙A就相当于公钥,它被人知道也没有关系钥匙B相当于私钥,它需要持有人小心保存,不能丢失。“上锁柜子”和“开锁柜子”相对于“加密过程”和“解密过程”,而且在非对称加密中,最重要的是加密和解密用的不是同一把密钥,而是一对密钥,即私钥和公钥。比特币公钥就是通过私钥推导而来,公钥继续转换变成账户地址,而且是不能反向推导出私钥的,私钥和公钥是一对,用户需要妥善保管好自己的私钥,而公钥和账户地址都是可以公开的。
 
  上述过程体现的是公钥加密,私钥解密。区块链中当别人给你转账的时候,你的收款地址(公钥)是公开给他人的,而转入的资产只有持有私钥的你才可以“解密”它,对它自由支配。
 
  还有一种情况是私钥加密,公钥解密。典型的应用场景就是数字签名,A采用自己的私钥加密文件信息后发送给B,并将公钥也发送给B,B利用这个公钥对信息解密,如果C和D也有这个公钥,那C和D也可以解密这个文件信息,但是只有持有私钥的A才能加密这个信息,因此可以确保这个文件信息确确实实是由A发出的,这就比较适用于一些公司老总做电子签名,以确保签名是老总签的。在区块链中,你的收款地址就相当于公钥,人人可以看到,但是如果你要转移你的资产给朋友,你需要输入密码(私钥)进行数字签名,来表示这个资产确确实实是由你发出的。

第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:yangjl

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。