格上哈希证明系统:从比特PHF到SPHF的构建与优化
1. 比特PHF与SPHF的基础概念
比特PHF(Bit-PHF)是一种哈希函数,若其误差可忽略不计(negl(n)-correct),则被称为统计正确的比特PHF。当投影密钥 $h_p$ 不依赖于待哈希的单词 $x$ 时,该(近似)比特PHF被称为(近似)(与单词无关的)比特PHF。
比特PHF可以转换为SPHF(Smooth Projective Hash Function)。具体而言,一个近似 $\epsilon$-正确且误差可忽略不计的通用比特PHF可以转换为近似 $(\epsilon + \epsilon’)$-正确的SPHF(对于任意正常数 $\epsilon’$),进而转换为SPHF。不过,即使原始的比特PHF与单词无关,转换后的(近似)SPHF的投影密钥仍会依赖于单词 $x$。若能避免这一限制,有望实现基于LWE(Learning With Errors)且具有多项式模数的一轮密钥交换。
此外,一个 $\epsilon$-通用且与单词无关的比特PHF,在满足一定条件($1 - \epsilon \geq 1 / poly(n)$)下,可通过放大平滑性或通用性属性转换为与单词无关的SPHF。这里要求原始的与单词无关的比特PHF是统计正确的。
2. 用于IND - CCA2密文的SPHF构建
2.1 语言与自然比特PHF
我们的目标是为IND - CCA2 LWE加密方案的密文语言构建(近似)比特PHF。该方法适用于典型的陷门LWE加密方案。
首先,构建标签 - IND - CCA2版本的比特PHF即可,涉及以下两种语言:
- $\overline{L} = {(u, c, \mu) | \exists s, e, c \leftarrow Encrypt(A_0, u, \mu; s, e)} \subseteq {(u, c, \mu) | d(c - Encode(\mu), \Lambda(A_u)) \leq B}$
- $L = {(u, c, \mu) | Decrypt(T, u, c) = \mu} = {(u, c, \mu) | d(c - Encode(\mu), \Lambda(A_u)) \leq B’}$
其中,$u \in U$,$c \in \mathbb{Z} q^m$,$\mu \in {0, 1}$,$(l {trap}, l_{par}) = (T, A_0) \leftarrow TrapGen(1^n, 1^m, q) = Setup.l_{par}(1^n)$,$Encrypt$、$Decrypt$、$B$ 和 $B’$ 有相应定义。由于签名部分可公开验证,当签名无效时,可将哈希值覆盖为新的均匀随机值来调整比特PHF。
固定标签 $u$ 后,可将语言简化为仅考虑标签 $u$ 下明文为0的密文语言:
- $\overline{L} = {c \in \mathbb{Z}_q^m | \exists s, e, c \leftarrow Encrypt(A_0, 0, u; s, e)} \subseteq {c \in \mathbb{Z}_q^m | d(c, \Lambda) \leq B}$
- $L = {c \in \mathbb{Z}_q^m | Decrypt(T, c, u) = 0} = {c \in \mathbb{Z}_q^m | d(c, \Lambda) \leq B’}$
自然比特PHF的定义如下:
- $HashKG(A)$ 输出 $hk = h \leftarrow D_{\mathbb{Z}^m, s}$
- $ProjKG(h, A)$ 输出 $h_p = p = A^th$
- $Hash(h, A, c)$ 输出 $H = R(\langle h, c \rangle)$
- $ProjHash(p, A, c, (s, e))$ 输出 $p_H = R(\langle p, s \rangle)$
其中,$R$ 是待选择的舍入函数,$s > 0$ 是待选择的参数。
2.2 通用性分析
- 朴素方法 :假设 $R: \mathbb{Z}_q \to \mathbb{Z}_2$ 为常见的舍入函数 $R(x) = \lfloor 2x / q \rfloor \bmod 2$。当 $c \in \overline{L}$ 时,$\langle h, c \rangle = h^t(As + e) = \langle p, s \rangle + \langle h, e \rangle \approx \langle p, s \rangle$,保证了正确性。但对于通用性,要证明当 $c \notin L$ 时,$Hash(h, A, c) = \langle h, c \rangle$ 在已知 $A$、$p$ 和 $c$ 的情况下是均匀的,这需要更强的假设,即对于所有 $j \in \mathbb{Z}_q^ $,$j \cdot c \notin L$。这导致语言扩展为 $L’ = {c | \exists j \in \mathbb{Z}_q^ , jc \in L}$,使得解密函数效率低下,且给构建基于比特PHF(或SPHF)的协议带来技术难题。
- 谐波分析 :固定 $p \in \mathbb{Z}_q^n$ 和 $c \in \mathbb{Z}_q^m$,将舍入函数 $R$ 限制为二进制值 ${0, 1}$(可能是概率性的)。研究条件概率 $P = Pr[R(\langle h, c \rangle) = 1 | h^tA = p^t]$,希望当 $c \notin L$ 时,$P$ 接近 $1/2$。
设 $r(x)$ 为 $R(x \bmod q) = 1$ 的概率,由于 $r: \mathbb{Z} \to [0, 1]$ 是 $q$ 周期的,可表示为 $r = \sum_{j \in \mathbb{Z}_q} \hat{r}_j \cdot e^{j/q}$,其中 $\hat{r}_j \in \mathbb{C}$ 是 $r$ 的傅里叶系数。
通过一系列推导,可得到 $P$ 的表达式,并将其拆分为三部分进行分析:
- $j = 0$,$y = 0$,贡献恰好为 $\hat{r}
0$(其中 $\hat{r}_0 = \frac{1}{q} \sum
{x \in \mathbb{Z}
q} r(x) \in [0, 1]$)
- $j = 0$,$y \neq 0$,贡献绝对值至多为 $|\hat{r}_0| \rho
{q/s}(\Lambda \setminus {0})$
- $j \neq 0$,每个 $j$ 贡献绝对值至多为 $|\hat{r}
j| \rho
{q/s}(\Lambda - jc)$
最终得到定理:
定理3.1 :固定 $A \in \mathbb{Z} q^{m \times n}$,$c \in \mathbb{Z}_q^m$ 和 $p \in \mathbb{Z}_q^n$($m$ 是 $n$ 的多项式)。设概率性舍入函数 $R: \mathbb{Z}_q \to {0, 1}$ 满足 $Pr[R(x) = 1] = r(x) = \sum {j \in J} \hat{r} j e^{j/q}(x)$,其中 $J \subseteq \mathbb{Z}_q$ 且 $\hat{r}_j \in \mathbb{C}$。若 $s \geq \eta {\epsilon}(\Lambda^{\perp}(A))$ 对于某个 $\epsilon = negl(n)$,且对于所有 $j \in J \setminus {0}$,$s \cdot d(jc, \Lambda(A)) > q\sqrt{m}$,则 $|P(c) - \hat{r}_0| \leq (2 + O(\epsilon)) |J| Cm + O(\epsilon)$,其中 $C = \sqrt{2\pi e} \cdot e^{-\pi} < 1$。
- 设置舍入函数 :为避免对密文 $c$ 的多个倍数进行解密尝试,应选择谐波数量较少的概率性舍入函数。例如,确定性舍入函数 $R(x) = \lfloor 2x / q \rfloor \bmod 2$ 的谐波系数 $|\hat{r} j|$ 按 $\Theta(1/j)$ 递减,需要对 $q/2$ 个 $c$ 的倍数进行陷门求逆。而选择 $2r(x) = 1 + \cos(2\pi x / q)$ 的舍入函数,其傅里叶系数 $\hat{r}_0 = 1/2$,$\hat{r}_1 = \hat{r} {-1} = 1/4$,$\hat{r}_j = 0$($j$ 为其他值)。
推论3.2 :设 $A \in \mathbb{Z} q^{m \times n}$($m = \Theta(n \log q)$),固定 $p \in \mathbb{Z}_q^n$,$B’ = q / \Theta(\sqrt{m})$,$L = {c \in \mathbb{Z}_q^m | d(c, \Lambda(A)) \leq B’}$。若 $R$ 满足 $Pr[R(x) = 1] = r(x) = \frac{1}{2} + \frac{1}{2} \cos(\frac{2\pi x}{q})$,$s \geq \eta {\epsilon}(\Lambda^{\perp}(A))$ 对于某个 $\epsilon = negl(n)$ 且 $s > \frac{q\sqrt{m}}{B’}$,则对于所有 $c \notin L$,$|2P(c) - 1| \leq 2 (6 + O(\epsilon)) Cm + O(\epsilon) \leq negl(n)$。
2.3 近似正确性验证
要验证上述方案的近似正确性,即对于所有 $c \in \overline{L}$,$Hash(h, A, c) = ProjHash(p, A, c, (s, e))$ 的概率显著大于 $1/2$。使用舍入函数 $R$,意味着希望 $R(\langle h, c \rangle)$ 和 $R(\langle p, s \rangle)$ 输出相同比特的概率 $Q$ 显著大于 $1/2$。
当 $c \in \overline{L}$ 时,$\langle h, c \rangle = \langle p, s \rangle + \langle h, e \rangle$。若 $\langle h, e \rangle$ 相对于 $q$ 足够小,则方案具有近似正确性。
引理3.3 :固定 $A \in \mathbb{Z} q^{m \times n}$ 和 $c = As + e \in \overline{L}$($m$ 和 $q$ 是 $n$ 的多项式,$|e| \leq B = 2t\sqrt{m}$),设 $s \geq \eta {\epsilon}(\Lambda^{\perp}(A))$ 对于某个 $\epsilon = negl(n)$,$R$ 为余弦舍入函数($Pr[R(x) = 1] = \frac{1}{2} + \frac{1}{2} \cos(\frac{2\pi x}{q})$)。若 $tsm = o(q)$,则 $Q = \frac{3}{4} + o(1)$。
证明过程如下:
因为 $s \geq \eta_{\epsilon}(\Lambda^{\perp})$ 对于 $\epsilon = negl(n)$,当 $h \leftarrow D_{\mathbb{Z}^m, s}$ 时,$h^tA$ 的分布与均匀分布的统计距离可忽略不计。所以 $Q$ 近似于 $Pr[R(x; coins_1) = R(x + \langle h, e \rangle; coins_2)]$(概率取自均匀的 $x \in \mathbb{Z}
q$、$h \leftarrow D
{\mathbb{Z}^m, s}$ 以及 $R$ 使用的两个独立随机硬币)。
[
\begin{align
}
Q &= \frac{1}{q} \sum_{x \in \mathbb{Z}
q} (r(x)r(x + \langle h, e \rangle) + (1 - r(x))(1 - r(x + \langle h, e \rangle))) + negl(n)\
&= \frac{1}{2} + \frac{1}{q} \sum
{x \in \mathbb{Z}_q} \frac{1}{2} \cos(\frac{2\pi x}{q}) \cos(\frac{2\pi (x + \langle h, e \rangle)}{q}) + negl(n)
\end{align
}
]
由于 $tsm = o(q)$,$\langle h, e \rangle = o(q)$ 的概率极高。利用余弦函数的利普希茨连续性,可将求和近似为积分,得到 $Q = \frac{3}{4} + o(1)$。
2.4 参数设置与总结
考虑使用余弦舍入函数($Pr[R(x) = 1] = \frac{1}{2} + \frac{1}{2} \cos(\frac{2\pi x}{q})$)的比特PHF和相应的加密方案,通过合理设置参数可同时满足加密方案的安全性和正确性,以及比特PHF的统计通用性和近似正确性。
-
IND - CCA2安全性
:为使加密方案基于 $LWE_{\chi, q}$($\chi = D_{\mathbb{Z}, \sigma}$,$\sigma = 2\sqrt{n}$)安全,应用相关定理,取 $m = \Theta(n \log q)$ 和 $t = \sqrt{mn} \cdot \omega(\sqrt{\log n})$。
-
解密正确性
:要求 $B < B’$,其中 $B := 2t\sqrt{m}$,$B’ := q / \Theta(\sqrt{m})$。
-
通用性
:在推论3.2中,要求 $s \geq \eta_{\epsilon}(\Lambda^{\perp}(A_u))$ 对于某个可忽略的 $\epsilon$。假设 $s \geq \Theta(\sqrt{n})$,可确保对于所有 $u \in U$ 除了概率为 $2^{-n}$ 的情况,$\epsilon = 2^{-n}$。同时,$s > \frac{q\sqrt{m}}{B’}$ 对于 $s = \Theta(m)$ 成立。
-
近似正确性
:引理3.3要求 $tsm = o(q)$,等价于 $sm^{3/2}n^{1/2} \omega(\sqrt{\log n}) = o(q)$。
综上所述,当 $q = \tilde{\Theta}(n^3)$,$m = \tilde{\Theta}(n)$,$s = \tilde{\Theta}(n)$,$t = \tilde{\Theta}(n)$ 时,可满足所有条件。
定理3.4 :设置参数 $q = \tilde{\Theta}(n^3)$,$m = \tilde{\Theta}(n)$,$s = \tilde{\Theta}(n)$,$t = \tilde{\Theta}(n)$,定义概率性舍入函数 $R: \mathbb{Z} q \to {0, 1}$ 使得 $Pr[R(x) = 1] = \frac{1}{2} + \frac{1}{2} \cos(\frac{2\pi x}{q})$,则(i)加密方案正确且在 $LWE {\chi, q}$($\chi = D_{\mathbb{Z}, 2\sqrt{n}}$)的困难性假设下具有标签 - IND - CCA2安全性;(ii)比特PHF具有统计通用性和 $(1/4 - o(1))$-正确性。
3. 比特PHF构建流程
graph LR
A[开始] --> B[定义语言L和L']
B --> C[构建自然比特PHF]
C --> D[进行通用性分析]
D --> E{是否满足通用性条件}
E -- 是 --> F[设置舍入函数]
E -- 否 --> D
F --> G[验证近似正确性]
G --> H{是否满足近似正确性条件}
H -- 是 --> I[设置参数]
H -- 否 --> G
I --> J[完成构建]
J --> K[结束]
4. 不同舍入函数对比
| 舍入函数 | 谐波系数特点 | 解密效率 | 通用性 |
|---|---|---|---|
| $R(x) = \lfloor 2x / q \rfloor \bmod 2$ | $ | \hat{r}_j | $ 按 $\Theta(1/j)$ 递减 |
| $2r(x) = 1 + \cos(2\pi x / q)$ | $\hat{r} 0 = 1/2$,$\hat{r}_1 = \hat{r} {-1} = 1/4$,$\hat{r}_j = 0$($j$ 为其他值) | 高 | 易满足 |
5. 用于IND - CPA密文的与单词无关的SPHF构建
5.1 概述
上一节构建的比特PHF具有可忽略的通用性但近似正确。尽管可以增强正确性,但转换过程会使新的投影密钥依赖于待哈希的单词,即使初始的比特PHF并非如此。
现在构建一个具有统计正确性和 $K$ - 通用性($K < 1$ 为通用常数)的比特PHF,不过需要使用超多项式的LWE模数 $q$。这种构建的主要优点是,增强通用性时投影密钥不依赖于单词。当密文 $c$ 的标签 $u$ 预先已知或为常数(此时加密方案仅为IND - CPA而非IND - CCA2),可以得到与单词无关的比特PHF,进而转换为与单词无关的SPHF,这是首个用于任何基于格的语言的与单词无关的SPHF。
采用与之前类似的自然方法,仅在使用的概率性舍入函数和用于论证正确性与通用性的参数上有所不同。之前使用低阶谐波的舍入函数以实现可忽略的通用性,而此次从朴素的方形舍入函数开始分析。
5.2 舍入函数的选择与分析
-
方形舍入函数 $R^{#}$
:定义为
[
R^{#}(x) =
\begin{cases}
1, & x \in [-\frac{q}{4}, \frac{q}{4}) \
0, & \text{otherwise}
\end{cases}
]
当 $s \geq \eta_{\epsilon}(\Lambda^{\perp})$ 时,$\langle h, c \rangle$ 在 $[-\frac{q}{2}, \frac{q}{2}]$ 上统计接近均匀分布,因此 $R^{#}(\langle h, c \rangle)$ 是一个均匀比特,统计距离为 $O(\epsilon + \frac{1}{q})$(由于 $q$ 为奇数)。对于超多项式的 $q$,只要 $\langle h, e \rangle$ 相对于 $q$ 足够小,使用 $R^{#}$ 作为舍入函数可实现统计正确性。
将 $R^{#}$ 视为 $\mathbb{R}$ 上的 $q$ 周期函数,其概率分布可表示为傅里叶级数:
[
r^{#}(x) := Pr[R^{#}(x) = 1] = \sum_{j \in \mathbb{Z}} \hat{r}^{#}_j \cdot e^{j/q}(x)
]
然而,对于奇数 $j$,$|\hat{r}^{#}_j| = \Theta(\frac{1}{j})$,难以通过之前的分析方法证明通用性,因为 $j \cdot c$ 接近 $\Lambda$ 的谐波的总贡献可能任意大。
- 新的舍入函数 $R$ :为解决上述问题,考虑一个新的舍入函数 $R$,它与 $R^{#}$ 在可忽略的整数点上具有相同的概率分布,以保持统计正确性,并且其高阶傅里叶系数的幅度足够小。
具体做法是对 $R^{#}$ 进行平滑处理。$R^{#}$ 在 $\pm\frac{q}{4}$ 处有两个不连续点,通过与宽度为 $T$($T/q = negl(n)$)的矩形信号进行卷积来平滑这些不连续点。定义 $q$ 周期函数 $r^{\flat}$ 为
[
r^{\flat}(x) =
\begin{cases}
\frac{1}{2T}, & |x| \leq T \
0, & \text{otherwise}
\end{cases}
]
新的舍入函数 $R$ 满足
[
Pr[R(x) = 1] := r(x) := (r^{#} \odot r^{\flat})(x) := \int_{-\frac{q}{2}}^{\frac{q}{2}} r^{#}(u) \cdot r^{\flat}(x - u) du
]
5.3 通用性证明
- 理想性质 :整数 $j$ 使得 $j \cdot c$ 在 $\Lambda$ 中的集合是 $\mathbb{Z}$ 的一个理想,如果 $c$ 本身不在 $\Lambda$ 中,则该理想是真理想。更一般地,使得 $j \cdot c$ 接近 $\Lambda$ 的小整数 $j$ 的集合包含在 $\mathbb{Z}$ 的一个理想中。如果 $c$ 远离 $\Lambda$,则最小的这样的理想是 $\mathbb{Z}$ 的真理想。
- 谐波分析 :利用新的舍入函数 $R$ 的傅里叶系数特性,以及上述理想性质,可以丢弃所有阶数不在该理想中的谐波。由于剩余的谐波必然存在相消干涉,从而可以建立 $K$ - 通用性($K < 1$)。
5.4 总结
通过使用新的舍入函数 $R$,可以构建一个具有统计正确性和 $K$ - 通用性的比特PHF。当密文标签已知或为常数时,可得到与单词无关的比特PHF,并转换为与单词无关的SPHF。
6. 构建与单词无关的SPHF流程
graph LR
A[开始] --> B[选择舍入函数R#]
B --> C[分析R#的通用性问题]
C --> D[设计新的舍入函数R]
D --> E[平滑R#的不连续点]
E --> F[进行通用性证明]
F --> G{是否满足K - 通用性}
G -- 是 --> H[得到与单词无关的比特PHF]
G -- 否 --> F
H --> I[转换为与单词无关的SPHF]
I --> J[结束]
7. 不同场景下的比特PHF与SPHF对比
| 场景 | 加密方案安全性 | 比特PHF性质 | 投影密钥是否依赖单词 |
|---|---|---|---|
| IND - CCA2 | IND - CCA2 | 统计通用性和 $(1/4 - o(1))$-正确性 | 依赖 |
| IND - CPA | IND - CPA | 统计正确性和 $K$ - 通用性 | 不依赖 |
综上所述,在不同的加密场景下,可以根据需求选择合适的比特PHF和舍入函数,以实现安全性、正确性和通用性的平衡。对于IND - CCA2场景,需要权衡解密效率和通用性;而对于IND - CPA场景,当密文标签已知或为常数时,可以实现与单词无关的SPHF,为格上哈希证明系统的应用提供了更多的灵活性。
超级会员免费看

135

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



