bitcoin and cryptocurrency technologies-hash函数

转载请标明出处:小帆的帆的专栏

hash函数的定义

具有以下性质的函数,可以称之为Hash函数:

  1. 输入为任意长度的bits
  2. 输出为固定长度的bits
  3. 计算耗时短

所以,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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值