抗碰撞双长度哈希:原理与安全分析
1. 安全概念
在双长度哈希的安全评估中,不安全性通过最优资源受限对手的成功概率来量化,这里的资源指的是对分组密码 $E$ 进行前向和后向查询的次数。
- 对手模型 :对手是一个计算能力无界但总是会停止的碰撞查找算法 $A$,可访问 $E \in Block(k, n)$,且假设 $A$ 是确定性的。对手可以进行前向查询 $(K, X)_f$ 以发现对应值 $Y = E(K, X)$,也可以进行后向查询 $(K, Y)_b$ 以学习对应值 $X = E^{-1}(K, Y)$,使得 $E(K, X) = Y$。查询结果存储在三元组 $(K_i, X_i, Y_i) := (K, X, Y)$ 中,查询历史 $Q$ 是元组 $(Q_1, \ldots, Q_q)$,其中 $Q_i = (K_i, X_i, Y_i)$,$q$ 是对手进行的查询总数。
- 碰撞定义 :对手的目标是输出两个不同的三元组 $(M, R, S)$ 和 $(M’, R’, S’)$,使得 $H(M, R||S) = H(M’, R’||S’)$。我们通过检查查询历史 $Q$ 来确定对手是否成功,若存在这样的碰撞且 $Q$ 包含计算该碰撞所需的所有查询,则称 $Coll(Q)$ 成立。
- 碰撞抵抗优势 :对于块密码基压缩函数 $H : {0, 1}^{k + 2n} \to {0, 1}^{2n}$,固定对手 $A$,$A$ 在 $H$ 中查找碰撞的优势定义为:
[AdvColl_H(A) = Pr[E \stackrel{
超级会员免费看
订阅专栏 解锁全文
2262

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



