通用哈希函数与随机数提取器详解
1. 通用哈希函数的构建方法
通用哈希函数在密码学和计算机科学中有着广泛的应用。构建 ϵ - AXU 哈希函数并不比构建 ϵ - AU 函数困难很多。下面介绍两种构建(异或 - )通用哈希函数的主要方法:基于矩阵乘法和基于多项式求值。
1.1 基于矩阵的哈希函数
对于使用矩阵 - 向量乘法的哈希函数,我们在域上进行操作,这里先考虑特定的域 $Z_2$。在这个域中,异或运算 $\oplus$ 就是加法,且 $1 + 1 = 0$。我们将哈希密钥 $hk$ 定义为一个随机矩阵 $A$,对值 $x$ 进行哈希运算就相当于进行矩阵 - 向量乘法 $A \cdot x$。输入和输出的大小由矩阵的维度决定。
哈希函数 $H$ 的定义如下:
H.KGen(1λ)
1 : hk ←$ ZH.ol(λ)×H.il(λ)
2 : return hk
H.Eval(hk, x)
1 : return hk · x
可以证明,哈希函数 $H$ 是 $\epsilon$ - AXU 的,其中 $\epsilon(\lambda) = 2^{-H.ol(\lambda)}$,并且它也是 $\epsilon$ - AU 的。
固定 $x \neq x’$ 和 $\Delta$,我们将 $x$、$x’$ 和 $\Delta$ 视为 $Z_2$ 上的列向量。对于随机矩阵 $A := hk$,需要证明 $Ax \oplus Ax’ = A(x \oplus x’) = \Delta$ 的概率至多为 $\epsilon
超级会员免费看
订阅专栏 解锁全文
21

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



