针对 Knudsen - Preneel 压缩函数的碰撞攻击
1. 引言
在密码学领域,压缩函数的安全性至关重要。Knudsen - Preneel 压缩函数是一类采用纠错码的哈希函数,其安全性一直是研究的重点。本文将介绍针对该压缩函数的碰撞攻击方法,以及相关的基础知识和前人的研究成果。
2. 预备知识
- 线性纠错码 :
- 一个 $[r, k, d] {2^e}$ 线性纠错码 $C$ 是 $\mathbb{Z} {2^e}^r$ 中 $k$ 维子空间的元素(码字)集合,其中最小距离 $d$ 定义为 $C$ 中所有非零码字的最小汉明重量。
- 对偶码 $[r, r - k, d_{\perp}] {2^e}$ 是与 $C$ 正交的 $r - k$ 维子空间中的所有元素集合,其最小距离记为 $d {\perp}$。Singleton 界限制了最小距离:$d \leq r - k + 1$,满足此界的码称为最大距离可分(MDS)码,MDS 码的对偶码也是 MDS 码,即 $d_{\perp}= k + 1$。
- 一个 $[r, k, d] {2^e}$ 码 $C$ 可以由矩阵 $G \in \mathbb{Z} {2^e}^{k\times r}$ 生成,即 $C = {x \cdot G|x \in \mathbb{Z} {2^e}^k}$。若 $G = [I_k|P]$,其中 $P \in \mathbb{Z} {2^e}^{k\times(r - k)}$ 且