码迷,mamicode.com
首页 > 其他好文 > 详细

比特币中所用到的密码学原理

时间:2020-03-17 19:48:53      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:空间   分布   计算过程   账户   签名   随机   理论   空间足   公钥   

1.哈希函数

  密码学中的哈希函数有两个重要的性质,第一是哈希碰撞,哈希碰撞是指给定任意两个输入x、y,并且x≠y使得H(x)=H(y)。关于哈希碰撞有两个很重要的结论,其一哈希碰撞是必然存在的,因为哈希函数的输出空间往往是固定的,但输入空间可以是无限的,所以根据鸽笼原理哈希碰撞是必然存在的。其二是没有办法从理论上证明哈希函数是存在哈希碰撞的。这意味着没有高效的方法去人为制造哈希碰撞,所以哈希碰撞可以用来确定某一个信息是否被篡改过。

  第二个性质是哈希函数的计算过程是单向不可逆的,我们没有高效的方法从哈希函数的输出来求的哈希函数的输入。不过这个性质的成立需要满足两个前提条件,一是输入空间足够大,二是输入的分布比较平均。所以我们对一个给定值x取哈希时通常会将x拼接上一个随机数一起取哈希即H(x ll nonce)。

2.签名

在讲签名之前先了解一下比特币账户,比特币中的账户是一对公私钥对,发起一个交易时使用自己的私钥进行签名,发布到网络中,系统中的其它节点可以使用公钥验证签名,这样就可以证明这笔交易确定是由你发起的。这里值得注意的一点是因为公私钥对会使用到哈希函数,所以在实现公私钥对的时候需要一个好的随机源。

比特币中所用到的密码学原理

标签:空间   分布   计算过程   账户   签名   随机   理论   空间足   公钥   

原文地址:https://www.cnblogs.com/yishi-san/p/12512217.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!