哈希压缩函数碰撞抗性的深入解析
在密码学领域,哈希压缩函数的碰撞抗性是一个至关重要的研究课题。本文将围绕相关理论和研究展开,深入探讨其碰撞抗性的相关内容。
1. 压缩函数的基本概念与碰撞问题
首先,我们来了解一下压缩函数的基本概念。压缩函数 $F$ 可以调用 $r$ 个原语 $f_1, \cdots, f_r$,并且以固定顺序调用。设 $f_1, \cdots, f_r$ 是定义域为 ${0, 1}^n$,值域为 ${0, 1}^b$($b$ 为任意值)的函数。压缩函数 $F: {0, 1}^{m + s} \to {0, 1}^s$ 由 $r$ 个函数 $g_1, \cdots, g_r$ 和一个函数 $h$ 定义,具体为 $F(v) = h(v, y_1, \cdots, y_r)$,其中 $y_j = f_j(g_j(v, y_1, \cdots, y_{j - 1}))$,这些 $y_1, \cdots, y_r$ 被称为“中间链变量”。
在碰撞问题方面,存在均匀构造和非均匀构造的压缩函数。例如,JHash 压缩函数就是非碰撞均匀构造的一个例子。当获得一个碰撞时,往往能得到许多其他碰撞,这体现了其非均匀性。
Stam 提出,当 $(nr - m)/(r + 1) < s/2$ 时,应考虑降低状态大小 $s$ 直到 $s/2 = (nr - m)/(r + 1)$,这样理论上可以通过均匀构造实现最佳碰撞抗性。不过,在加强压缩函数的同时降低状态大小,可能会削弱通过迭代压缩函数得到的哈希函数的安全性,因为哈希函数的碰撞抗性通常高于压缩函数。
2. 基本结果与引理
Rogaway 和 Steinberger 有
超级会员免费看
订阅专栏 解锁全文
46

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



