非加密哈希:原理、应用与构造
1. 非加密哈希基础
非加密哈希在数据处理和安全领域有着重要的应用。对于哈希函数的构造,我们可以从简单的线性方程入手。考虑方程 (ax + b = y) 和 (ax’ + b = y’),可以将其类比为矩阵形式:
[
\begin{pmatrix}
x & 1 \
x’ & 1
\end{pmatrix}
\cdot
\begin{pmatrix}
a \
b
\end{pmatrix}
=
\begin{pmatrix}
y \
y’
\end{pmatrix}
]
当 (x \neq x’) 时,左边矩阵的行列式不为 0,因此该方程组有唯一解。随机选择 (a) 和 (b) 命中这个解的概率为 (\frac{1}{|F|^2})。
对于较长的输入,常见的方法是将输入 (x) 拆分为域元素 ((x_1, \ldots, x_t)),并计算哈希值为 (b + \sum_{i = 1}^{t} a_ix_i),其中 (b) 和 (a_1, a_2, \ldots) 是随机密钥元素。在实践中,(a_1, a_2, \ldots) 通常通过伪随机拉伸种子来派生。
要获得 (k) -wise 独立的哈希函数(对于固定大小的输入 (x)),可以选择一个次数为 (k - 1) 的随机多项式 (x \mapsto \sum_{i = 0}^{k - 1} a_ix^i),其中系数 (a_0, \ldots, a_{k - 1}) 是随机选择的。对于每 (k) 对 ((x^{(i)},
超级会员免费看
订阅专栏 解锁全文
874

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



