5.1 Hash函数
5.1 Hash函数
- Hash函数的定义
- Hash函数满足条件
- Hash函数满足的安全条件
- Hash函数使用方式
Hash函数的定义
- 将任意长的消息M映射为较短的、固定长度的一个值H(M)。【其函数值H(M)为哈希值、散列值、杂凑码、指纹、消息摘要等。】
- 别称:Hash函数也称为哈希函数、散列函数、压缩函数、杂凑函数、指纹函数等。
- Hash函数H一般是公开的。
例
Hash函数满足条件
- Hash函数函数的输入可以是任意长
- Hash函数函数的输出是固定长
- 易于在软件和硬件实现
Hash函数满足的安全条件
Hash为了实现安全认证,需要满足如下的安全条件:
- 单向性:已知x,求H(x)是容易的,但是已知H(x),反求这个x是计算上不可行的。
- 抗弱碰撞性:已知x和H(x),找到一个y使得H(y)=H(x),在计算上是不可行的。
- 抗强碰撞性:找到任意两个x、y,使得H(y)=H(x),在计算上是不可行的。
三个安全性的关系:
----->抗强碰撞性,则有抗弱碰撞性,则有单向性
Hash函数使用方式
- A这里输入x,得到结果H(x)
- A将x、H(x)传给B,
- B计算x,将自己计算的H(x)与A发送的H(x)相比较,若相等,则成功验证
---------------------------
“朝着一个既定的方向去努力,就算没有天赋,在时间的积累下应该也能稍稍有点成就吧。”