vlambda博客
学习文章列表

比特币的加密:非对称加密算法#35


 

 

比特币本身并没有创造新的密码学成果,但比特币利用现有密码学成果构建了一个令人惊奇的全新的数字货币世界:去中心化、区块链、可编程货币等成果。

 



比特币的非对称加密技术来源于以下几项密码学的技术创新:

1976年,Sun公司前首席安全官Whitfield Diffie与斯坦福大学教授Martin Hell,在开创性论文《密码学的新方向》首次提出公开钥匙密码学的概念,发明了非对称加密算法。

 

1978年省理工学院的伦纳德·阿德曼、罗纳德·李维斯特、阿迪·萨莫尔三名研究人员,共同发明了公开钥匙系统“RSA”可用于数据加密和签名,率先开发第一个具备商业实用性的非对称RSA加密算法。

 

1985年,Neal Koblitz和Victor Miller俩人,首次提出将椭圆曲线算法(ECC),应用于密码学,并建立公钥加密的算法,公钥密码算法的原理是利用信息的不对称性,公钥对应的是私钥,私钥是解开所有信息的钥匙,公钥可以由私钥反推算出。ECC能够提供比RSA更高级别的安全。比特币使用的就是椭圆曲线算法公钥用于接收比特币,而私钥则是比特币支付时的交易签名。

 

这些加密算法奠定了当前非对称加密理论的基础,被广泛应用于网络通信领域。但是,当时这些加密技术发明均在NSA严密监视的视野之内。NSA最初认为它们对国家安全构成威胁,并将其视为军用技术。直到20世纪90年代末,NSA才放弃对这些非对称加密技术的控制,RSA算法、ECC算法等非对称加密技术最终得以走进公众领域。


不过,中本聪并不信任NSA公布的加密技术,在比特币系统中没有使用RSA公钥系统,原因除了ECC能够提供比RSA更高级别的安全性能外,还担心美国安全部门在RSA留有技术后门。

 

2013年9月,斯诺登就曾爆料NSA采用秘密方法控制加密国际标准,比特币采用的RSA可能留有后门,NSA能以不为人知的方法弱化这条曲线。所幸的是,中本聪神一般走位避开了RSA的陷阱,使用的加密技术不是NSA的标准,而是另一条鲜为人知的椭圆曲线,这条曲线并不在美国RSA的掌握之下。全世界只有极少数程序躲过了这一漏洞,比特币便是其中之一。

 


 

对称加密:对同一份敏感数据,加密解密密钥是相同的。

 

非对称加密算法需要两个密钥:

公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。


我们用一幅图来说明:

 


在上的非对称加密部分,密钥A就是公开密钥(简称公钥),密钥B就是私有密钥(简称私钥)。


 

每次有量子计算的新闻出现时,人们都要担心一次比特币。原因很简单,比特币是基于密码学的,而密码学之所以能够成立,是基于某种计算上的不可能性。如果量子计算把原本不可能或难以实现的计算变成可以计算,那么这种密码学的方法就会失效。


但这种担心是多余的。原因同样简单:我们只要有量子计算也无法完成的计算,不就可以吗?以这种计算为基础构建的密码学方法( 量子安全密码学),量子计算也就无法破解,然后把比特币升级到该密码学方法之下即可。

 

比特币是可以进化的,所以它永远都不怕任何破解。