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