深入探究哈希算法:原理、特性与应用
1. 哈希算法基础与消息认证码(MAC)
哈希算法是一种将可变长度的数据块转换为固定长度输出的单向函数,输出结果被称为消息摘要。消息摘要在确保文件完整性、创建数字签名、验证密码等方面有广泛应用。
消息认证码(MAC)在消息认证中起着重要作用,它能确保消息来自授权发送者且在传输过程中未被修改。使用 MAC 会产生以下两种结果:
- 路由器 A 发送使用 MAC 验证的更新,路由器 B 会接受该消息,因为 MAC 证明更新来自授权设备。
- 恶意行为者发送未使用消息认证的更新,由于路由器无法确定其为授权网络设备,消息将被拒绝。
2. 理想哈希算法的特性
2.1 单向性(不可逆性)
单向函数意味着可变长度的数据块输入函数后,会返回固定长度的哈希值。输出与原始数据毫无相似之处,且无法将其还原为原始数据。这种不可逆性使哈希算法更安全。
2.2 固定大小输出
无论输入数据的大小如何,哈希算法总是产生相同大小的哈希值。不同的哈希算法输出大小不同,例如:
| 哈希算法 | 输出大小 |
| ---- | ---- |
| CRC - 16 | 16 位校验和 |
| CRC - 32 | 32 位校验和 |
| MD5 | 128 位哈希值 |
| SHA - 224 | 224 位哈希值 |
需要注意的是,校验和主要用于检测传输错误,其要求不如用于加密函数以确保数据完整性的哈希值严格。
2.3 确定性
确定性指的是算法对给定数
超级会员免费看
订阅专栏 解锁全文
943

被折叠的 条评论
为什么被折叠?



