2.1单向散列函数
通过单向散列函数计算信息的指纹,通过验证指纹判断信息是否被篡改,即完整性,或称一致性。
什么是单向散列函数
单向散列函数(one-way hash function)有一个输入和一个输出,其中输入称为消息(message),输出称为散列值(hash value)。单向散列函数把输入作为纯粹的比特序列来处理。散列值的长度与消息的长度无关,单向散列函数总会计算出固定长度的散列值。
单向散列函数的性质
- 根据任意长度的消息计算出固定长度的散列值
- 能够快速计算散列值
- 消息不同散列值也不同
- 难以发现碰撞的性质称为抗碰撞性
- 弱抗碰撞性:确保要找到和该条消息具有相同散列值的另外一条消息是非常困难的
- 强抗碰撞性:确保要找到散列值相同的两条不同的信息是非常困难的
- 密码技术中使用的单向散列函数,这两种性质都需要具备
- 具备单向性
几个术语:
- 单向散列函数,又称消息摘要函数、哈希函数或杂凑函数
- 输入单向散列函数的消息也称为原像
- 单向散列函数输出的散列值也称为消息摘要或指纹
-