Nearly Optimal Property Preserving Hashing论文阅读
论文地址: https://doi.org/10.1007/978-3-031-15982-4_16.
论文研究的对象是性质保留哈希函数族(PPH族), 构造了安全的PPH族, 其输出长度接近理论下界.
基本概念
PPH族 安全参数\(\lambda\), 消息长度\(n = n(\lambda)\), 摘要长度\(m = m(\lambda)\)均为\(\lambda\)的多项式. 二值谓词\(P: \{0,1\}^n \times \{0,1\}^n \rightarrow \{0,1,\perp\}\)输入为两个消息. 哈希函数族\(\mathcal{H} = \{h: \{0,1\}^n \rightarrow \{0,1\}^m\}\)对谓词\(P\)是\((n,m)\)-性质保留哈希(PPH)函数族. \(\mathcal{H}\)提供三个接口:
- Sample(\(1^{\lambda}\)) \(\rightarrow h\): 取一个哈希函数h.
- Hash(\(h, x\)) \(\rightarrow y\): 对消息\(x \in \{0,1\}^n\)计算摘要\(y \in \{0,1\}^m\).
- Eval(\(h, y_1, y_2\)): 仅由两个摘要估计消息\(x_0\)和\(x_1\)的谓词结果.
\(\mathcal{H}\)必须满足: \(\forall x_1, x_2 \in \{0,1\}^n\),
robust PPH族 PPH族满足对适应性选择消息的概率多项式时间敌手, 找到错误的概率可忽略.
汉明谓词 消息长度为\(n\), 汉明距离阈值为\(t < n\), 汉明谓词
还有一种更粗略的谓词, 称为阶越汉明谓词. 对于正整数\(n\), \(t < n\), \(\delta > 0\), 定义为
通用哈希函数族 哈希族\(\mathcal{H}\)满足\(\forall x_1, x_2 \in \{0,1\}^n\)且\(x_1 \ne x_2\),
构造一种简单的通用哈希函数族: \(\mathcal{H}\)中的哈希函数\(h_A(x)\)用矩阵\(A \in \mathbb{Z}^{m \times n}_2\)表征, \(h_A(x) = A \cdot x\). 这样构造的\(\mathcal{H}\)的通用的且满足同态性质\(h_A(x_1) + h_A(x_2) = h_A(x_1 + x_2)\).
编码\(C\) 一个\([n, k]_q\)编码\(C\)是一个线性单射\(C: \mathbb{F}_q^k \rightarrow \mathbb{F}_q^n\). 每个映射值称为一个编码字. 编码距离为两个编码字最小的汉明距离.
奇偶校验 一个对于编码\(C: \mathbb{F}^k \rightarrow \mathbb{F}^n\)的奇偶校验矩阵\(P \in \mathbb{F}^{(n-k) \times n}\)满足\(c\)为一个编码字当且仅当\(P \cdot c = 0\).
列表解码 一个\([n,k]_q\)编码\(C\)为\(t\)错误下组合列表可解码的, 若\(\forall y \in \mathbb{F}_q^n\), 与\(y\)的汉明距离不大于\(t\)的所有编码字不多于poly(\(n\))个.
故障解码 \(C\)为一个\([n,k]_q\)编码且存在一个奇偶校验矩阵\(P\), \(C\)为\(t\)错误下组合故障列表可解码的, 若\(\forall S \in \mathbb{F}_q^{n-k}\), 满足\(P \cdot e = S\)且汉明重量不大于\(t\)的\(e \in \mathbb{F}_q^n\)不多于poly(\(n\))个.
对于一个编码, 可列表解码和可故障解码是等价的.
构造非robust的PPH族
论文首先构造了一个非robust的有效的PPH族.
令\(P\)为一个\([n, k]_2\)编码的奇偶校验矩阵, 可以有效在\(t\)错误下进行列表解码. 可以构造\((n, m)\)-PPH族如下:
- Sample(\(1^\lambda\)): 随机取矩阵\(A \leftarrow \mathbb{F}_2^{\lambda \times n}\), 输出哈希函数\(h(x) = (P \cdot x, A \cdot x)\).
- Eval(\(h, y_1, y_2\)): 令\(y_1 = (v_1, w_1)\), \(y_2 = (v_2, w_2)\). 对\(S = v_1 - v_2\)进行\(C\)的故障解码, 得到所有 的\(e\)列表\(\mathcal{L}\). 若\(\exists e \in \mathcal{L}\), 满足\(A \cdot e = w_1 - w_2\), 则返回1; 否则返回0.
定理 若\(n,t,k\)都是\(\lambda\)的多项式且存在一个可高效进行\(t\)错误列表解码, 则如上构造对\(\text{HD}_{n,t}\)汉明谓词是一个可高效估计的有效\((n,m)\)-PPH族, 输出长度\(m = n - k + \lambda\).
PPH族输出长度下界
论文给出了适用于所有PPH族(不仅是robust的)的输出长度的下界: 任意对于\(\text{HD}_{n,t}\)的\((n,m)\)-PPH族, 当Eval失败率小于\(\frac{1}{2n}\)时, 输出长度满足\(m \ge \log {n \choose t}\).
论文说明了之前构造的非robust的PPH族在许多设置下输出长度十分接近此下界, 已经基本最优.
构造robust的PPH族(RPPH)
当敌手可以根据采样后的\(h\)实例适应性选择消息后, 要保证Eval的正确性需要使用同态的抗碰撞哈希函数(collision-resistant hash function, CRHF).
同态CRHF族
令\(n=n(\lambda)\), \(l=l(\lambda)\)是\(\lambda\)的多项式且\(l < n\). 同态CRHF族\((Sample, \mathcal{H})\)包括采样函数\(h \leftarrow \text{Sample}(1^\lambda)\), 实例\(h: \mathbb{Z}_q^n \rightarrow \{0,1\}^l\). 需要满足以下性质
- 效率: \(h(x)\)应该可以在多项式时间内计算.
- 抗碰撞: 任意多项式时间的敌手\(\mathcal{A}\)
- 同态性: 在哈希值定义运算\(\div\)可以在多项式时间计算, 满足\(\forall x_1, x_2 \in \mathbb{Z}_q^n\)均有
RPPH的构造
与非robust基本相同, 换一下哈希函数. \(P\)为\([n, k]_Q\)编码的一个奇偶校验矩阵, \(Q\)为一个奇素数幂. (Sample, \(\mathcal{H}\))为一个同态CRHF族, 输入长度\(n\), 输出长度\(l\). 构造robust的\((n,m)\)-PPH族如下:
- Sample(\(1^\lambda\)): 选择一个同态CRHF实例\(g \leftarrow \text{Sample}(1^\lambda)\). 返回\(h(x) = (P \cdot x, g(x))\).
- Eval(\(h, y_1, y_2\)): 令\(y_1 = (v_1, w_1)\), \(y_2 = (v_2, w_2)\). 对\(S = v_1 - v_2\)进行\(C\)的故障解码, 得到所有的\(e\)列表\(\mathcal{L}\). 若\(\exists e \in \mathcal{L}\)满足\(g(e) = w_1 \div w_2\)且\(e \in \{-1,0,1\}^n\), 输出1; 否则输出0.
定理 假设存在输出长度\((\lambda)\)的同态CRHF. 对任意多项式\(t,k\)和奇素数幂\(Q\)使得存在一个\([n,k]_Q\)的在\(t\)错误下高效可解码的编码. 则上述构造对\(HD_{n,t}\)是一个\((n,m)\)-RPPH族, 输出长度\(m = (n-k) \log_2 Q + l(\lambda)\).
RPPH基于标准抗碰撞性质的构造
论文首先为阶越汉明谓词构造了RPPH族, 之后将其变为对汉明谓词的RPPH.
为阶越汉明谓词构造RPPH
其构造基于一个有良好性质的二部图\(G\). 对于一个二部图\(G = (L \cup R, E)\), 称其为一个\((n,k,t,\delta)\)良好的二部图, 当\(G\)满足\(|L| = n\), \(|R| = k\),且存在一个阈值\(\mu > 0\),
- 对所有小的左集合\(S \subseteq L\)且\(|S| \le t\), 满足\(S\)的邻居数\(|N(S)| < \mu k\).
- 对所有大的左集合\(S \subseteq L\)且\(|S| \ge (1 + \delta) t\), 满足\(S\)的邻居数\(|N(S)| > \mu k\).
当\(k = O(t \log (n / t) + \lambda)\), 这样的良好二部图可以很容易构造出来.
构造RPPH. 对参数\(n, t < n, \delta > 0\)以及一个CRHF族(Sample, \(\mathcal{G}\)):
- Sample(\(1^\lambda\)): 设置\(k = O(t \log (n / t) + \lambda)\)并生成一个\((n,k,t,\delta)\)良好的二部图\(G = (L \cup R, E)\). 选择一个CRFH函数\(g = \leftarrow \text{Sample}(1^\lambda)\), 其输出长度\(l = l(\lambda)\). 输出\(h = (G, g)\).
- h(x): 对每个\(1 \le j \le k\), 计算\(R\)中第\(j\)个节点的所有左邻居\(N(j)\). 记\(N(j)\)对应的\(x\)比特串为\(\hat{x}^j\). 输出\(h(x) = g(\hat{x}^1), g(\hat{x}^2), \dots, g(\hat{x}^k))\).
- Eval(\(h, y_1, y_2\)): 计算所有\(\hat{y_1}^j\)和\(\hat{y_2}^j\)不相等的数量\(\Delta\). 如果\(\Delta \le \mu k\), 输出1; 否则输出0.
这样构造对于\(\text{GAPHD}_{n,t}\)为一个\((n,m)\)-RPPH, 输出长度为\(m = O((t \log (n/t) + \lambda) l)\).
将阶越汉明谓词的RPPH改造为汉明谓词的RPPH
给定参数\(n, t < n, \delta > 0\). 已有一个对阶越汉明谓词\(\text{GAPHD}_{n,t}\)的\((n, m_{\text{gap}})\)-RPPH\((\text{Sample}_{\text{gap}}, \text{Eval}_{\text{gap}})\). 同时对允许高效独特解码的在\((1+\delta)t\)错误下的\([n,k]_2\)编码存在一个奇偶校验矩阵\(P\). 可以构造:
- Sample(\(1^\lambda\)): 取一个\(g \leftarrow \text{Sample}_{\text{gap}}(1^\lambda)\). 输出\(h(x) = (Px, g(x))\).
- Eval(\(h, y_1, y_2\)): 令\(y_1 = (Px_1, g(x_1)), y_2 = (Px_2, g(x_2))\). 计算\(S = Px_1 \oplus Px_2\). 对\(S\)使用故障解码得到一个独特的\(Pe = S\)且\(e\)的汉明重量不大于\((1+\delta)t\). 若没有找到\(e\)输出0. 令\(b = \text{Eval}_{\text{gap}}(g, g(x_1), g(x_2))\). 若\(e\)的汉明重量不大于\(t\)且\(b=1\)则输出1; 否则输出0.
得到的构造对\(\text{HD}_{n,t}\)是一个\((n,m)\)-RPPH, \(m = n - k + m_{\text{gap}}\).
构造随机的RPPH
本节, 论文构造了随机性的robust的性质保留哈希函数(R2P2H).
有长度为\(l\)的比特串\(y\), 比特下标集合\(S\)中的元素均为\(1 \sim l\)之间, 记\(y_S \in \{0,1\}^{|S|}\)为\(y\)中位置在\(S\)中的比特构成的子串.
为汉明谓词构造\((n,m)\)-R2P2H. 令\(l = 2n\). \(G \in \mathbb{F}_2^{l \times n}\)为\([l,n]_2\)编码的变换矩阵其编码距离为\(\delta \lambda\), \(\delta > 0\)为某个常数. 存在一个\([n,k]_2\)可在\(t\)错误下高效列表解码的编码, 其奇偶校验矩阵为\(P\). 构造:
- \(h(x)\): 随机生成一个\(|S| = \sqrt{\lambda l}\)且元素均为\(1 \sim l\)整数的集合\(S\). 输出\(h(x) = (Px, S, Gx_S)\).
- Eval(\(y_1, y_2\)): 记\(y_1 = (v_1, S_1, Gx_{1S}), y_2 = (v_2, S_2, Gx_{2S})\). 记\(S^* = S_1 \cap S_2\). 对\(v_1 - v_2\)进行故障列表解码得到\(e_i\)列表, 满足\(Pe_i = v_1 - v_2\)且\(e_i\)汉明重量不大于\(t\). 若存在某个\(e_i\)满足\(Ge_{iS^*} = Gx_{1S^*} - Gx_{2S^*}\), 输出1; 否则输出0.
这样构造的R2P2H是robust的, 其安全模型中, 在获取\(h\)后敌手可以适应性选择消息, 但是在得到\(h(x_1)\)和\(h(x_2)\)的随机性后不能再选择消息.

浙公网安备 33010602011771号