admin管理员组

文章数量:1530018

1.1加密哈希函数

我们需要一个拥有以下三个属性的函数:

  1. 我们可以输入任何一串字符
  2. 输出的结果是固定尺寸的,例如我们设定为256位的一串字符
  3. 这个函数时可以通过有限的步骤计算的

然后,我们就有了一个哈希函数。

 

哈希函数的密码学属性:无碰撞、隐藏、puzzle-friendly

无碰撞:假设我们有一个函数,这个函数一一映射,那我们就能够得到有x≠y且f(x)=f(y),这样的x、y是不存在。但是我们用映射到一定范围的值时,比如256位的字符串,那我们通过计算验证,理论上是可以找到一对x、y使得f(x)=f(y),但是找到的概率非常小,需要尝试2130次,这个函数不能够找到一对x、y的概率是99.8%,因此理论上说sha-256是无碰撞的。

应用:使用哈希值作为文件摘要,例如有一个大文件,通过哈希运算之后获得它的哈希值存储起来,如果有人声称是相同的文件,只需要将文件重新进行计算获得哈希值与存储的值进行比较就能够判断是否为同一份文件。

隐藏:假如一个函数的输出值只有两个1和2

本文标签: 区块基础知识函数