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}\)提供三个接口:

  1. Sample(\(1^{\lambda}\)) \(\rightarrow h\): 取一个哈希函数h.
  2. Hash(\(h, x\)) \(\rightarrow y\): 对消息\(x \in \{0,1\}^n\)计算摘要\(y \in \{0,1\}^m\).
  3. Eval(\(h, y_1, y_2\)): 仅由两个摘要估计消息\(x_0\)\(x_1\)的谓词结果.
    \(\mathcal{H}\)必须满足: \(\forall x_1, x_2 \in \{0,1\}^n\),

\[\mathop{\text{Pr}}\limits_{h \leftarrow \text{Sample}(1^\lambda)} [P(x_1,x_2) \ne \perp \land Eval(h, y_1, y_2) \ne P(x_1,x_2)] = \text{negl}(\lambda). \]

robust PPH族 PPH族满足对适应性选择消息的概率多项式时间敌手, 找到错误的概率可忽略.

汉明谓词 消息长度为\(n\), 汉明距离阈值为\(t < n\), 汉明谓词

\[\text{HD}_{n,t}(x_1, x_2) = \begin{cases} 1, ||x_1 \oplus x_2||_0 \le t,\\ 0, \text{otherwise}. \end{cases} \]

还有一种更粗略的谓词, 称为阶越汉明谓词. 对于正整数\(n\), \(t < n\), \(\delta > 0\), 定义为

\[\text{GAP-HD}_{n,t}(x_1, x_2) = \begin{cases} 1,||x_1 \oplus x_2|| \le t,\\ 0, ||x_1 \oplus x_2|| \ge (1 + \delta) t,\\ \perp, \text{otherwise}. \end{cases} \]

通用哈希函数族 哈希族\(\mathcal{H}\)满足\(\forall x_1, x_2 \in \{0,1\}^n\)\(x_1 \ne x_2\),

\[\text{Pr}[h(x_1) = h(x_2): h \leftarrow \mathcal{H}] \le 2^{-m}. \]

构造一种简单的通用哈希函数族: \(\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}\)

\[\mathop{\text{Pr}}\limits_{h \leftarrow \text{Sample}(1^\lambda), (x_1,x_2) \leftarrow \mathcal{A}(h)}[h(x_1) = h(x_2) \land (x_1 \ne x_2) \land x_1,x_2 \in \{-1,0,1\}^n] \le \text{negl}(\lambda). \]

  • 同态性: 在哈希值定义运算\(\div\)可以在多项式时间计算, 满足\(\forall x_1, x_2 \in \mathbb{Z}_q^n\)均有

\[h(x_1) \div h(x_2) = x_1 - x_2. \]

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\),

  1. 对所有小的左集合\(S \subseteq L\)\(|S| \le t\), 满足\(S\)的邻居数\(|N(S)| < \mu k\).
  2. 对所有大的左集合\(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}\)):

  1. 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)\).
  2. 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))\).
  3. 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\). 可以构造:

  1. Sample(\(1^\lambda\)): 取一个\(g \leftarrow \text{Sample}_{\text{gap}}(1^\lambda)\). 输出\(h(x) = (Px, g(x))\).
  2. 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\). 构造:

  1. \(h(x)\): 随机生成一个\(|S| = \sqrt{\lambda l}\)且元素均为\(1 \sim l\)整数的集合\(S\). 输出\(h(x) = (Px, S, Gx_S)\).
  2. 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)\)的随机性后不能再选择消息.

posted @ 2023-05-14 06:50  Nobody_sh  阅读(136)  评论(0)    收藏  举报