3.2 Hash 函数

主要参考:冯克勤《有限域上的代数曲线:理论和通信应用》

在此之前我们已经介绍了纠错码,我们把原始信息编成更长的码字后进行传输,目的是用来纠正信息传输过程中信道产生的错误,这是信息处理的一种方式。事实上,还有不少其他的目的需要对原始信息加以处理, 比如在大数据时代, 为了降低数据的存贮量, 我们需要把信息进行压缩, 而在提取时, 要使压缩的信息能够恢复成原来的样子. 再如一些文件 (如名人字画) 为了防止盗版要加上防伪标志(如印章、指纹). 我们将介绍这方面的两个例子, 着重介绍代数曲线在这两个方面的应用.

Hash 函数

1979 年,Carter 和 Wegman 发明的 Hash 函数 (杂凑函数) 就是为了压缩信息和恢复性提取,后来发现它能应用于信息科学的更多领域.

定义

\(A\)\(B\)分别是\(n\)元和\(m\)元集合,\(2 \leqslant m \leqslant n\).一个\((H ; n, m)\)\(Hash\)函数族\(\mathcal{H}\)是指由\(H\)个映射\(h: A \rightarrow B\)构成的集合。对于\(2 \leqslant w \leqslant m\), 这个函数族\(\mathcal{H}\)叫作\((n, m, w)\)完备的\(Hash\)函数族 (perfect Hash family), 简记为\(\operatorname{PHF}(H ; n, m, w)\),是指对\(A\)的任何一个\(w\)元子集\(X, \mathcal{H}\)中均存在一个\(Hash\)函数\(h: A \rightarrow B\), 使得\(h\)\(X\)上的限制\(\left.h\right|_X: X \rightarrow B\)是单射.

由于要求总存在单射,所以要求\(w \leq m\)是自然的。

而且直观上容易看出,\(w\)越小,限制就越低,特别的如果允许\(w=1\),则任何一个从\(A\)\(B\)的映射都在这个函数族中。

函数族\(\operatorname{PHF}(H;n,m,w+1)\)也会满足\(\operatorname{PHF}(H;n,m,w)\)的要求。

完备\(Hash\)函数族的例子

\(\mathcal{H}\)为所有\(m^n\)个映射\(A \rightarrow B\)组成的集合, 易知对任何\(w, 2 \leqslant\)\(w \leqslant m, \mathcal{H}\)均为\(\operatorname{PHF}\left(m^n ; n, m ; w\right)\).————也就是说,对任何\(Hash\)函数族,只要包含的函数“足够多”,一定是满足完备要求的。

关于\(Hash\)函数的一个极值问题

由定义可知, 若\(\mathcal{H}\)\(\operatorname{PHF}(H ; n, m, w)\), 将\(\mathcal{H}\)增加任意一个新的映射\(h: A \rightarrow B\)之后, 成为\(\operatorname{PHF}(H+1 ; n, m, w)\). 我们关心的是对给定的\(n, m\)\(w(2 \leqslant w \leqslant m \leqslant n)\), 存在\(\operatorname{PHF}(H ; n, m, w)\)的最小\(H\)值, 我们把它表示成\(H(n, m, w)\). 也就是说, 存在由\(H(n, m, w)\)个函数\(h: A \rightarrow B\)组成的\((n, m, w)\)完备\(Hash\)函数族, 但是任何由\(H(n, m, w)-1\)个函数\(h: A \rightarrow B\)组成的函数族对于\(w\)都不是完备的。

例子 \(H(r^3,r^2,3)=3(r \geq 2)\)

证明:设\(R\)\(r\)元集合. 令\(n=r^3\),\(m=r^2\), 取\(A=R^3, B=R^2\). 考虑如下的函数\(h_1, h_2, h_3: A \rightarrow B\), 其中对\(a, b, c \in R\),

\[h_1(a, b, c)=(a, b), \quad h_2(a, b, c)=(a, c), \quad h_3(a, b, c)=(b, c) . \]

它们均把三位的信息压缩成两位的信息.
现在设\(P=(a, b, c), P^{\prime}=\left(a^{\prime}, b^{\prime}, c^{\prime}\right)\)\(P^{\prime \prime}=\left(a^{\prime \prime}, b^{\prime \prime}, c^{\prime \prime}\right)\)\(A\)中的任意三个不同元素. 则子集合\(S=\left\{P, P^{\prime}, P^{\prime \prime}\right\}\)在映射\(h_i(1 \leqslant i \leqslant 3)\)之下的像为

\[\begin{aligned} & h_1(S)=\left\{(a, b),\left(a^{\prime}, b^{\prime}\right),\left(a^{\prime \prime}, b^{\prime \prime}\right)\right\}, \\ & h_2(S)=\left\{(a, c),\left(a^{\prime}, c^{\prime}\right),\left(a^{\prime \prime}, c^{\prime \prime}\right)\right\} \\ & h_3(S)=\left\{(b, c),\left(b^{\prime}, c^{\prime}\right),\left(b^{\prime \prime}, c^{\prime \prime}\right)\right\} \end{aligned} \]

我们证明: 必有\(i(1 \leqslant i \leqslant 3)\), 使得\(h_i\)限制在\(S\)上是单射, 即\(\left|h_i(S)\right|=3\).

实际上,如果想象空间中三个点的三视图,这个结论基本上是显然的。

严格证明: 若\(\left|h_1(S)\right| \leqslant 2\), 则\((a, b),\left(a^{\prime}, b^{\prime}\right)\)\(\left(a^{\prime \prime}, b^{\prime \prime}\right)\)必有两者相等. 不妨设\((a, b)=\left(a^{\prime}, b^{\prime}\right)\), 即\(a=a^{\prime}, b=b^{\prime}\). 由\(P \neq P^{\prime}\)可知\(c \neq c^{\prime}\). 这时

\[h_2(S)=\left\{(a, c),\left(a, c^{\prime}\right),\left(a^{\prime \prime}, c^{\prime \prime}\right)\right\}, \quad h_3(S)=\left\{(b, c),\left(b, c^{\prime}\right),\left(b^{\prime \prime}, c^{\prime \prime}\right)\right\} \]

其中\((a, c) \neq\left(a, c^{\prime}\right),(b, c) \neq\left(b, c^{\prime}\right)\). 若\(a^{\prime \prime} \neq a\), 则\(\left|h_2(S)\right|=3\). 否则, 若\(\left|h_3(S)\right| \leqslant 2\), 则\(\left(b^{\prime \prime}, c^{\prime \prime}\right)=(b, c)\)\(\left(b, c^{\prime}\right)\), 即\(b^{\prime \prime}=b\)并且\(c^{\prime \prime} \in\left\{c, c^{\prime}\right\}\), 这时\(P=(a, b, c), P^{\prime}=\left(a, b, c^{\prime}\right), P^{\prime \prime}=\left(a, b, c^{\prime \prime}\right)\), 其中\(P^{\prime \prime}=P\)\(P^{\prime}\), 与假设\(P, P^{\prime}, P^{\prime \prime}\)彼此不同相矛盾. 故\(\left|h_3(S)\right|=3\). 这就表示必有某个\(i(1 \leqslant i \leqslant 3)\)使\(h_i\)\(S\)上的限制为单射. 这表明\(\left\{h_1, h_2, h_3\right\}\)是完备的\(Hash\)函数族, 从而\(H\left(r^3, r^2, 3\right) \leqslant 3\).

进而证明\(H\left(r^3, r^2, 3\right)>2\). 即要证明: 对于任何两个映射\(f, g: A \rightarrow B\),\(A\)中均有 3 元子集\(S=\left\{P, P^{\prime}, P^{\prime \prime \prime}\right\}\), 使得\(|f(S)| \leqslant 2\), 并且\(|g(S)| \leqslant 2\).

对每个\(b \in B\), 记\(f^{-1}(b)=\{a \in A \mid f(a)=b\}\), 去掉其中的空集之后, 它们形成\(A\)的一个划分 (partition)。记\(S_1, \cdots, S_t\)为其中的\(1\)元子集合, 剩下的\(T_1, \cdots, T_l\)为其中元素\(\geqslant 2\)个的子集合. 它们彼此不相交且并集合为\(A\). 令\(T\)\(T_j(1 \leqslant j \leqslant l)\)的并集.

\(|B|=r^2\)可知\(t \leqslant r^2-1,|T|=|A|-\sum_{i=1}^t\left|S_i\right|=r^3-t \geqslant r^3-r^2+1 \geqslant 2\).对于\(T\)中的每个元素\(a\), 均有\(a^{\prime} \in T, a^{\prime} \neq a\), 使得\(f\left(a^{\prime}\right)=f(a)\)(即\(a\)\(a^{\prime}\)属于同一个\(T_j\)). 类似地, 对于函数\(g\), 也有\(A\)的一个子集合\(T^{\prime},\left|T^{\prime}\right| \geqslant r^3-r^2+1\),健得对每个\(b \in T^{\prime}\), 存在\(b^{\prime} \in T^{\prime}, b^{\prime} \neq b, g(b)=g\left(b^{\prime}\right)\). 由于\(|T|+\left|T^{\prime}\right| \geqslant 2 r^3-\)\(2 r^2+2>r^3=|A|\), 可知存在\(a_1 \in T \cap T^{\prime}\). 于是有\(a_2 \in T, a_3 \in T^{\prime}, a_1 \neq a_2\),\(a_1 \neq a_3\), 使得\(f\left(a_1\right)=f\left(a_2\right), g\left(a_1\right)=g\left(a_3\right)\). 当\(a_2 \neq a_3\)时,\(S=\left\{a_1, a_2, a_3\right\}\)\(A\)的 3 元子集,\(|f(S)|=\left|\left\{f\left(a_1\right), f\left(a_3\right)\right\}\right| \leqslant 2,|g(S)|=\left|\left\{g\left(a_1\right), g\left(a_2\right)\right\}\right| \leqslant 2\).若\(a_2=a_3\), 则\(g\left(a_1\right)=g\left(a_3\right)=g\left(a_2\right)\). 任取\(a_4 \in A \backslash\left\{a_1, a_2\right\}, S=\left\{a_1, a_2, a_4\right\}\)\(A\)的 3 元子集,\(|f(S)|=\left|\left\{f\left(a_1\right), f\left(a_4\right)\right\}\right| \leqslant 2,|g(S)|=\left|\left\{g\left(a_1\right), g\left(a_4\right)\right\}\right| \leqslant 2\).这就证明了\(H\left(r^3, r^2, 3\right)>2\). 于是当\(r \geqslant 2\)时,\(H\left(r^3, r^2, 3\right)=3\).\(\square\)

由此例子可体会到,完备\(Hash\)函数族问题是一个组合学问题. 当\(n, m, w\)较大时,一般来说,确定\(H(n, m, w)\)的值是一个困难的问题. 退一步则考虑它的下界. 1984 年, 用组合概率方法人们证明了: 对于任何固定的\(2 \leqslant w \leqslant m\),有下界\(H(n, m, w)=O(\log n)\), 即存在和\(n\)无关的常数\(c\), 使得对所有\(n \geqslant m\),\(H(n, m, w) \leqslant c \log n\). 但是证明是非构造性的.

采用组合设计、纠错码和其他组合手段,人们给出构作完备 Hash 函数族的许多方法和结果. 但一直到 2001 年, 王华雄和邢朝平[1] 采用函数域的方法, 明显地构作出了完备 Hash 函数族, 使\(H(n, m, w)\)达到下界\(O(\log n)\). 现在介绍他们的构作方法.

\(K\)是以\(\mathbb{F}_q\)为常数域的函数域,\(g=g(K)\)为域\(K\)的亏格,\(P\)\(K\)\(1\)次素除子,\(G\)\(K\)的一个除子, 并且\(V_P(G)=0\). 于是对每个\(f \in L(G)\),\(f(P) \in \mathbb{F}_q\)(即\(P\)不是\(f\)的极点). 从而有映射

\[h_P: L(G) \rightarrow \mathbb{F}_q, \quad h_P(f)=f(P) \]

引理

如果\(\operatorname{deg} G \geqslant 2 g+1, P\)\(Q\)\(K\)中两个不同的\(1\)次素除子,\(V_P(G)=V_Q(G)=0\). 则\(h_P\)\(h_Q\)\(L(G)\)\(\mathbb{F}_q\)的不同映射.

证明\(\operatorname{deg}(G-P-Q) \geqslant 2 g-1\), 从而\(l(G-P-Q)=\operatorname{deg}(G-P-\)\(Q)+1-g=\operatorname{deg} G-1-g\). 类似地可知\(l(G-P)=\operatorname{deg} G-g\). 这表明\(L(G-P-Q) \varsubsetneqq L(G-P)\). 于是有\(f \in L(G-P) \backslash L(G-P-Q)\), 即\(f \in L(G), f(P)=0, f(Q) \neq 0\). 这表明\(h_P \neq h_Q\).

定理

\(K\)是以\(\mathbb{F}_q\)为常数域的函数域,\(g=g(K), P_1, \cdots, P_H\)\(K\)\(H\)个不同的\(1\)次素除子,\(G\)\(K\)的一个除子,\(\operatorname{deg} G \geqslant 2 g+1, V_{P_i}(G)=0(1 \leqslant\)\(i \leqslant H)\). 则对于每个\(w, 2 \leqslant w \leqslant q\), 当\(H>\binom{w}{2} \operatorname{deg} G\)时, 存在完备\(Hash\)函数族\(\operatorname{PHF}\left(H ; q^{\mathrm{deg} G+1-g}, q, w\right)\).

证明\(S=\left\{P_1, \cdots, P_H\right\}, \mathcal{H}=\left\{h_P: L(G) \rightarrow \mathbb{F}_q \mid P \in S\right\}\). 由引理可知\(\mathcal{H}\)中的\(H\)个函数\(h_P(P \in S)\)是两两不同的, 即\(|\mathcal{H}|=H\). 而\(n=|L(G)|=q^{l(G)}=q^{\operatorname{deg} G+1-g}, m=\left|\mathbb{F}_q\right|=q\).

对于\(L(G)\)中的任何\(w\)元子集\(X\), 我们证明均存在\(R \in S\), 使得\(h_R\):\(X \rightarrow \mathbb{F}_q\)为单射. 为证此, 记\(D_X=\left\{(f-g)^2 \mid f, g \in X, f \neq g\right\}\). 则\(\left|D_X\right| \leqslant\binom{ w}{2}\).\(D_X\)中函数\((f-g)^2\)的零点即为\(f-g\)的零点. 由于\(0 \neq f-g \in L(G)\)并且对每个\(P \in S, V_P(G)=0\), 可知\(f-g\)\(S\)中的零点个数\(\leqslant \operatorname{deg} G\)(由代数几何码一节定理\(2\)结论\(d\geq n-\deg G\)). 这就表明:
\(\#\left\{P \in S: P\right.\)\(D_X\)中某个\((f-g)^2\)的零点\(\} \leqslant\binom{ w}{2} \operatorname{deg} G\).由假设\(H=|\mathcal{H}|>\binom{w}{2} \operatorname{deg} G\), 这表明存在\(R \in S\), 使得\(R\)不是\(D_X\)中任何\((f-g)^2\)的零点. 现在证明\(h_R: X \rightarrow \mathbb{F}_q\)是单射. 对于\(X\)中的两个不同元素\(f, g,(f-g)^2 \in D_X\). 从而\(R\)不是\(f-g\)的零点, 即\(f(R) \neq g(R)\). 这表明\(h_R(f) \neq h_R(g)\).\(\square\)

处理完备性的极值问题时,我们可以赋给\(Hash\)函数族的参数\(n,m\)特殊的结构,这样并不会影响我们的结论。

如上的一通操作相当于把达到给定下界的完备\(Hash\)函数族的存在性归结于以\(\mathbb{F}_q\)为常数域的函数域中满足特定性质的除子的存在性,但我们知道,这是存在且可构造的。

常数域取\(\mathbb{F}_q\)时,黎曼罗赫空间\(L(B)\)是有限的,这是函数域理论能够应用于组合构造的一个原因。并且通常而言,只要给的对除子的限制条件不相悖或者太奇怪,基本都能找到对应的除子,所以把一些构造的难题转化到构造相应的除子是一个很好的想法。

\(H=\binom{w}{2} \operatorname{deg} G+1\), 由\(n=q^{\operatorname{deg} G+1-g}\)可知对于固定的\(q, H\)达到下界\(O(\log n)\). 但是在此定理中\(n\)\(m\)都是素数幂, 并且\(H\)不,l超过\(K\)\(1\)次素除子的个数. 王华雄和邢朝平[1:1] 在上述定理的基础上采用适当的函数域和其中的除子, 再加上一些组合学技巧, 对于任意固定正整数\(m\)\(w, 2 \leqslant w \leqslant m\),均具体构作了出完备\(\operatorname{Hash}\)函数族\(\operatorname{PHF}\left(H_n ; n, m, w\right)(n \rightarrow \infty)\)满足下界\(H_n=O(\log n)\).


  1. Huaxiong Wang, Chaoping Xing,Explicit Constructions of Perfect Hash Families from Algebraic Curves over Finite Fields,Journal of Combinatorial Theory, Series A,Volume 93, Issue 1,2001,Pages 112-124 ↩︎ ↩︎

posted @ 2024-11-30 01:29  沙棘数学社  阅读(81)  评论(0)    收藏  举报