深入了解加密哈希:原理、应用与算法
1. 加密哈希基础
在计算机安全领域,加密哈希是保障数据完整性的重要工具。与之前关注信息保密性的加密技术不同,加密哈希主要用于确保数据的完整性。计算机安全的基石概念之一是 CIA 三角,包括保密性、完整性和可用性。不同技术支持 CIA 三角的不同方面,例如备份、灾难恢复计划和冗余设备支持可用性,加密消息支持保密性,而加密哈希则专注于支持完整性。
1.1 加密哈希的定义
加密哈希是一种特殊类型的算法。William Stallings 对哈希的定义如下:
1. 可变长度输入 :H 可以应用于任意大小的数据块。
2. 固定长度输出 :H 产生固定长度的输出。
3. 易于计算 :对于任何给定的 x,计算 H(x) 相对容易,使得硬件和软件实现都切实可行。
4. 单向性 :对于任何给定的值 h,在计算上不可能找到 x 使得 H(x) = h。
5. 弱抗碰撞性 :对于任何给定的块 x,在计算上不可能找到 y ≠ x 使得 H(y) = H(x)。
6. 强抗碰撞性 :在计算上不可能找到任何一对 x, y 使得 H(x) = H(y)。
从更通俗的角度来看,一个有效的加密哈希函数需要具备以下三个特性:
- 单向性 :加密哈希是不可逆的,就像无法将炒好的鸡蛋恢复到原来的状态一样。
-
超级会员免费看
订阅专栏 解锁全文
1711

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



