bitcoin and cryptocurrency technologies-hash函数
Posted 小帆的帆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bitcoin and cryptocurrency technologies-hash函数相关的知识,希望对你有一定的参考价值。
转载请标明出处:小帆的帆的专栏
hash函数的定义
具有以下性质的函数,可以称之为Hash函数:
- 输入为任意长度的bits
- 输出为固定长度的bits
- 计算耗时短
所以,Hash函数不是某一个函数,而是一类函数。例如:MD5,SHA256。其中比特币使用的是双重SHA256。
hash函数的安全特性
无碰撞(collision free)
含义:当x和y不相等时,它们的hash值通常
也不相等。
通常:这里指的通常是,没人能够找到x和y不等,但是hash值相等的情况。
碰撞存在
没人能够找到,但是碰撞一定存在。以SHA256为例,输入长度是任意的,输出只有256bits。所以输入有无限种可能,但输出只有2的256次方种可能。因此,左边一定可以找到大量的值,映射到右边后,值是相等的。
碰撞寻找
为什么说没人能找到碰撞的情况。因为需要计算2的130次方次,才能保障有99.8%的可能性出现碰撞。而全世界所有的电脑一起计算,从宇宙诞生到现在也计算不完。
隐蔽(hiding)
含义:给定Hash值H(x),找不到x的值是多少。
解谜友好(puzzle-friendly)
含义:定义一个难度,能够在不断尝试中,找到那个x。
以上是关于bitcoin and cryptocurrency technologies-hash函数的主要内容,如果未能解决你的问题,请参考以下文章
bitcoin and cryptocurrency technologies-引言
bitcoin and cryptocurrency technologies-Hash指针
bitcoin and cryptocurrency technologies-hash函数