强模拟可提取的抗泄漏零知识证明及相关签名方案
1. 电路可满足性的NIZK证明系统
在电路可满足性的证明中,我们首先来看公共随机字符串(CRS)的生成,它与特定方式生成的相同。对于证明过程,输入为 $(\Delta, C, w)$,其中 $C$ 是由与非门构建的电路且 $C(w) = 1$,具体步骤如下:
1. 将 $w$ 扩展为 $m$,$m$ 包含电路中所有导线的比特。
2. 对每个比特 $m_i$ 进行加密,得到 $c_i = g^{m_i}h^{r_i}$,其中 $r_i \leftarrow Z_n$。
3. 为所有的 $c_i$ 制作一个非交互式零知识(NIZK)证明,证明存在 $m_i$ 和 $r_i$,使得 $m_i \in {0, 1}$ 且 $c_i = g^{m_i}h^{r_i}$。
4. 对于电路的输出,令密文 $c_{output} = g$,即对 1 的一个易于验证的加密。
5. 对于所有与非门,有输入密文 $c_{i0}$、$c_{i1}$ 和输出密文 $c_{i2}$。要证明存在 $m_{i0}$、$m_{i1}$、$m_{i2} \in {0, 1}$ 以及 $r_{i0}$、$r_{i1}$、$r_{i2}$,使得 $m_{i2} = \neg(m_{i0} \land m_{i1})$ 且 $c_{ij} = g^{m_{ij}}h^{r_{ij}}$。为此,制作一个 NIZK 证明,证明存在 $m$ 和 $r$,其中 $m \in {0, 1}$,使得 $c_{i0}c_{i1}c_{i2}g^{-2} = g^mh^r$。
6. 返回由所有密文和 NIZK 证明组成的 $\kappa$。
验证过程如下:
超级会员免费看
订阅专栏 解锁全文


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



