哈希算法深度剖析
1. 消息认证码(MAC)的作用
使用消息认证码(MAC)会产生以下结果:
- 路由器A发送使用MAC验证的更新,路由器B会接受该消息,因为MAC证明更新来自授权设备。
- 恶意行为者发送未使用消息认证的更新,由于路由器无法确定其为授权网络设备,该消息将被拒绝。
2. 理想哈希算法的特性
为了使哈希算法有效,它必须能够快速高效地生成哈希值。此外,还需具备其他特性以提供最佳安全性。理想的算法应能经受时间考验,即使技术进步也能保持稳固。以下是一些理想哈希算法的特性:
- 单向性(不可逆性) :当我们说单向时,是指可变长度的数据块输入函数,输出固定长度的哈希值。输出与原始数据块毫无相似之处,也无法将其重构为原始数据。这种不可逆特性使哈希算法更安全。
- 固定大小输出 :无论输入大小如何,哈希算法总是产生相同大小的哈希值。输出取决于具体算法,例如:
| 算法 | 输出大小 |
| ---- | ---- |
| CRC - 16 | 16位校验和 |
| CRC - 32 | 32位校验和 |
| MD5 | 128位哈希值 |
| SHA - 224 | 224位哈希值 |
校验和用于检测传输错误,其要求不如用于加密函数以确保数据完整性的哈希值严格。
- 确定性 :确定性意味着算法对给定数据块每次运行时都会产生相同的哈希值。此特性很重要,因为输出的任何变化都表明数据已被修改。为防止恶意攻击,发送者应使用HMAC。例如,发送文
超级会员免费看
订阅专栏 解锁全文
878

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



