现代密码学中的攻击方法、哈希函数构造与安全性分析
1. 线性密码分析及其对分组密码设计的影响
线性密码分析是一种攻击密码的方法,与差分密码分析相比,它使用已知明文而非选择明文。这一特性非常重要,因为加密文件可以提供大量已知明文,而获取选择明文的加密结果则困难得多。Matsui 证明,仅使用 243 对明文/密文对,就可以通过线性密码分析破解 DES。
现代分组密码的设计和评估部分基于其对差分和线性密码分析的抵抗能力。在构造分组密码时,设计者会选择 S 盒和其他组件,以最小化差分概率和线性偏差。虽然无法消除 S 盒中所有高概率差分,但可以将这些偏差最小化。此外,增加轮数并仔细选择混合置换,既能降低差分概率,也会使密码分析者更难找到可利用的差分。
2. 哈希函数的安全要求与构造方法
哈希函数的主要安全要求是抗碰撞性,即难以找到不同的输入 x 和 x’,使得 H(x) = H(x’)。如果哈希函数的输出长度为 ℓ 位,那么最好的情况是,使用远少于 2^(ℓ/2) 次 H 调用找到碰撞是不可行的。
构造抗碰撞哈希函数有两种方法:
- 基于分组密码构建压缩函数 :可以从满足强安全属性的分组密码构建抗碰撞压缩函数,常见的方法是 Davies–Meyer 构造。设 F 是一个密钥长度为 n 位、块长度为 ℓ 位的分组密码,Davies–Meyer 构造定义压缩函数 h : {0, 1}^(n + ℓ) → {0, 1}^ℓ 为 h(k, x) = Fk(x) ⊕ x。
graph LR
x --> F
超级会员免费看
订阅专栏 解锁全文

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



