迭代哈希函数的相关研究与攻击分析
1. 第二原像和目标碰撞抗性的域扩展
一般而言,Merkle - Damgård 对于第二原像和目标碰撞抗性并非优秀的域扩展器,因为存在一些压缩函数,经该变换后无法保留其安全性。不过,我们可以对 MD 变换进行调整,以获得适用于第二原像抗性(或目标碰撞抗性)函数的安全域扩展器。此方案的关键区别在于密钥大小取决于消息长度,消息越长,所需密钥也越长,这与之前使用固定大小密钥处理任意长度消息的带密钥 MD 变换形成鲜明对比。对于第二原像和目标碰撞抗性的域扩展,密钥长度至少需随消息长度呈对数增长。
1.1 XOR 线性哈希(XLH)
该构造方法能将第二原像抗性函数的输入域扩大一倍,但代价是密钥大小也会增加。我们从一个带密钥的压缩函数开始:
[h : {0, 1}^{h.kl(\lambda)} \times {0, 1}^{h.bl(\lambda)} \times {0, 1}^{h.cl(\lambda)} \to {0, 1}^{h.cl(\lambda)}]
其中 ({0, 1}^{h.bl(\lambda)} > {0, 1}^{h.cl(\lambda)}),即块长度大于函数的链值长度(也就是输出长度)。由此我们构造出函数:
[H_h : {0, 1}^{h.kl(\lambda)+2\cdot h.cl(\lambda)} \times {0, 1}^{2\cdot h.bl(\lambda)} \times {0, 1}^{h.cl(\lambda)} \to {0, 1}^{h.cl(\lambda)}]
这意味着我们将消息块长度翻倍的同时也增加了密钥大小。该构造本质上是 Merkle
迭代哈希函数的攻击分析与防御策略
超级会员免费看
订阅专栏 解锁全文

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



