区块链中文网

非对称加密:如何防止隐私被窃取?
4413
发表时间:2019-02-16 18:22

  春节期间,整个数字货币市场波澜不惊,不过,有些事件却也引发了圈内的广泛讨论,比如,比特币交易所QuadrigaCX创始人去世,他独自掌握了约1.47亿美元加密数字货币的私钥,他的意外离世,导致这些数字货币被永久“上锁”,这跟丢失了没什么区别。

  肖恩不由感慨,无论科技多么发达,资金安全风险可能也永远不会彻底消除,因为风险很多时候来源于人本身。

  在前面的文章中,肖恩讲解了比特币交易的本质,这套交易模型,保证了比特币在没有中心化机构背书的前提下的交易安全。在这套交易模型中,有一个非常重要的东西,叫“非对称加密”,而“公钥”和“私钥”就是非对称加密里的概念。在比特币的交易中,通过它们,可以判断某笔交易是否真实有效。

  “非对称加密”是相对于“对称加密”来说的,我们先来看看什么是“对称加密”。

  在一些以早期的战争为背景的谍战片中,特工们以电报机来进行通讯,通信双方需要事先确定密码本,密码本只是一本普通的书籍,发送方通过密码本,把情报内容转换为数字内容,接收方依据接收到的数字内容,再通过密码本把它还原成情报内容。

  这种加密方式,就是对称加密,即明文通过密钥加密成密文,而密文同样可以通过同一个密钥来解密出明文。

  这种加密方式,一旦被敌人找到密码本(密钥),情报就会被破解,而且敌人还可能伪造假情报,所以在谍战片里面,我们经常可以看到更换密码本的情节。

  频繁更换密码本,这当然很不方便,而且依然没有从根本上解决安全问题。于是,密码学家们找到了另一种加密方法,即加密采用一种方法,解密采用另一种方法,两个密钥不一样,所以叫非对称加密。

  非对称加密有两个密钥,即公钥和私钥,公钥是公开的,可以让任何人知道,私钥绝对不能公开,只能自己知道,公钥加密只能用对应的私钥才能解,同样的,私钥加密只能用对应的公钥解。另外,公钥是通过私钥算出来的,但私钥无法通过公钥算出。

  具体怎么应用呢?

  继续用上面的例子。假如肖恩和张三都是特工,肖恩和张三各有一对公钥和私钥,双方需要传递消息,则事先把各自的公钥发送给对方,然后,肖恩就可以把需要传递的消息通过张三的公钥加密,再发送给张三,这可以通过任何方式发送,电话、信件、广播都行,即使被敌方知道都没有关系。

  因为这份被张三公钥加密的内容,外人无法读取,只有张三通过自己手里的私钥才能进行解密读取。这就好比,肖恩往张三家的实体邮箱里投递了一封信,只有张三能打开邮箱查看信件,这里邮箱相当于公钥,而钥匙相当于私钥。

  比特币采用的“椭圆曲线算法”就是非对称加密的一种。我们常说的比特币账户(比特币地址)其实就是通过公钥计算得来的。在“比特币交易的本质”一文中,肖恩有提到,我们接收到的任何比特币金额,实质上都是被锁定在比特币地址(公钥)中的,我们要想花费它,就必须用对应的钥匙(私钥)去解锁它。也就是说只有你掌握了私钥,才能说某笔比特币是属于你的。


分享到: