密码校验算法攻击与线性一致性测试分析
1. 数据完整性保护与消息认证码
数据完整性保护在计算机存储和通信网络中至关重要。目前主要有两种实现数据完整性的方法:
- 第一种是使用无密钥哈希函数(MDC)对明文进行压缩,然后对明文和/或哈希结果进行加密。这种方法的优点是认证和加密可以分离,简化了密钥管理(仅需一个密钥),且设计快速无碰撞的哈希函数通常比设计好的消息认证码(MAC)简单。但该方案的安全性完全依赖于后续的加密。
- 第二种是在密钥控制下对明文进行压缩,此时的压缩函数称为消息认证码(MAC)。当不需要数据保密时,MAC 可以提供安全且经济的解决方案。
一个好的 MAC 需要满足以下要求:
1. MAC(.,.)的描述必须公开,唯一的秘密信息在于密钥(Kerckhoff 原则的扩展)。
2. 数据 X 可以是任意长度,而 MAC 具有固定长度 n。
3. 给定 X 和 K,计算 MAC(K,X)必须“容易”。
4. 给定 X,以显著高于 1/2ⁿ的概率确定 MAC(K,X)在计算上是不可行的。即使知道大量的(Xi, MAC(K, Xi))对,对手也无法以显著高于 1/2ⁿ的概率确定密钥 K 或计算任何 X’ ≠ Xi 的 MAC(K,X’)。
5. MAC 必须无碰撞,即不知道秘密密钥 K 的情况下,在计算上不可能找到两个不同的消息哈希到相同的结果。
然而,一个好的 MAC 只是实现完整性保护的第一步。安全系统还应提供序列号、时间信息、块数规范,并提供处理长度不是块长度整数倍的明文的程序。
2. Cohen 和 Huang 方案
基于分组密码设计快速安全的 MAC
超级会员免费看
订阅专栏 解锁全文
664

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



