比特币背后的密码学原理.docx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
比特币背后的密码学原理〇、序言货币由于其天然属性决定了其与安全不可分割的联系,从最早的金库、保险柜、镖局到后来的ATM机、运钞车;从存折到银行卡,从口令卡到优盾,安全技术的进步一步步推动着金融防护领域的更新。传 统的货币的安全需求,密码学是安全手段,是从“可用”到“安心用”的升级。而对比特币来说,密码学本身就是比特币体系的一部分,没有密码学支撑的比特币体 系会完全崩塌,彻底“不可用”。本质上来说,比特币和密码学是融为一体的,比特币是自带安全属性的数字货币。因此,对比特币用户来说,了解比特币背后的密 码学理论,有助于更好的理解比特币;同时,通过密码学理论的分享,也可以顺便感受一下人类智慧的伟大。毕竟,在我眼里,密码学理论是大量聪慧的头脑审慎思 考的结果,精致而又巧妙之处比比皆是。一、密码学理论比特币本身并没有创造新的密码学成果,但比特币利用现有密码学成果构建了一个令人惊奇的全新的数字货币世界:去中心化、区块链、可编程货币等成果即使抛开比特币本身而言也是值得赞赏的洞见。首先,现代密码学理论的共识遵循“柯克霍夫原则”:柯克霍夫原则由奥古斯特·柯克霍夫在19世纪提出:密码系统应该就算被所有人知道系统的运作步骤,仍然是安全的。这个是什么意思呢,拿钥匙和锁的例子来说,研制和生产锁具(包括钥匙)的工艺是完全公开的,锁具被攻破只有两种可能:一是证明工艺有漏洞,不需要拿到原装钥匙也能打开。二是穷尽各种钥匙可能,在可接受的时间里能够从概率意义上试出来(暴力破解)。算法是公开的,唯一需要保护的是密钥,这是我们下文讨论的基础。1.非对称加密先看对称加密很好理解也符合直觉:对称加密:对同一份敏感数据,加密解密密钥是相同的。非对称加密呢:非 对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加 密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种 算法叫作非对称加密算法。 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行 加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。我们用一幅图来说明:在上文的非对称加密部分,密钥A就是公开密钥(简称公钥),密钥B就是私有密钥(简称私钥)。道理都懂,问题有意思在什么地方呢?非对称加密方式下密钥A和密钥B是怎么找到的以及怎么实现的?我们举例说明:假设我们现在已经找到了(具体怎么找的后面会讲)公钥(3233,17)和私钥(3233, 2753)。注意,公钥和私钥不一定只有一个数字,是可以有多个的,具体几个数字依赖于非对称加密算法。假设现在明文待加密信息是数字65,我们首先给出加密公式:解释一下,c代表加密后数字,(n,e)对应我们的公钥对,m代表明文,≡的意思是同模运算,比如60≡4(mod 7),60对4取模后等于4。好了我们开始计算密文:密文是2790,如何解密呢,解密公式:d对应私钥的2753,其余字母和加密过程相同,于是解密运算为:我们得到了原来的明文数据65,这个例子可以看到加密和解密数据是不同的。以上我们举例使用的算法是大名鼎鼎的地球主流非对称加密算法RSA,有关RSA的介绍参考阮一峰老师的文章。实际上我上面用到的数字也出自该文,实在是时间有限无法深入讲解RSA的细节大家可以自行学习。比特币体系实际使用的非对称算法是椭圆曲线加密(ECC),可以到这里详细了解。从 上面的例子我们知道满足非对称加密的密钥对是存在的,同时我们也做了加解密尝试。实际上,非对称加密算法的核心依赖于特定的数学难题,比如上文的RSA依 赖于大数分解难题,如果该难题被破解了,算法本身也就被攻破了。另外,我读研的时候还做了RSA矩阵扩展,将其算法基础从素数扩展到矩阵,有兴趣的可以继 续交流。非对称算法通过公私鈅分别加解密方式给信息交换带来了巨大的变化,具体表现在:1)在不安全的环境中传递敏感信息成为可能。从上文可以知道,公钥是完全公开任意传播的,通过公钥是无法(或极其困难)推算出私钥的,私钥是不公开不发送不传播的,仅仅消息接收方知道就可以,其他任何人都不需要知道。2)多方通信所需密钥数量急剧减少,密钥维护工作变得异常简化。比如N个互不信任且互有通信需求的人,如果使用对称加密算法,则需要N!/2个密钥,如果使用非对称加密仅需要N个即可(每个人只需要维护自己的公私鈅对,无论和多少人通信)。3)基于非对称加密发展起来的数字签名技术(见下文详述)从数学意义上解决了自证身份问题,使得信息接收者可以确认消息发送方身份信息且不可更改。4)密码学问题对数学问

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档