短配对非交互式零知识证明的技术解析
1. 引言
在密码学领域,非交互式零知识证明(NIZK)是一项重要的技术,它允许证明者在不泄露额外信息的情况下向验证者证明某个陈述的真实性。本文将详细介绍一种基于双线性群的短配对非交互式零知识证明方案,包括其技术贡献、相关定义、双线性群的性质、知识承诺方案以及各种证明参数的构造和验证。
2. 技术贡献与基本原理
本文的核心技术贡献在于构建了一种合适的承诺方案,并设计了相应的非交互式逐元素乘积和置换证明。该承诺方案是Pedersen承诺方案的变体,承诺密钥形式为 $(g, gx, \ldots, gx^q)$。对 $a_1, \ldots, a_q$ 的承诺是一个单一的群元素,计算方式为 $c = g^r \prod_{i=1}^{q} (g^{x^i})^{a_i}$。
这种承诺的优点在于其离散对数是一个多项式 $r + \sum_{i=1}^{q} a_ix^i$。当对两个承诺进行配对时,指数上会得到两个多项式的乘积。通过对多项式乘积进行适当的线性组合,我们可以将逐元素乘积和置换表示为这些多项式系数的方程。基于 $q$-CPDH 假设,我们可以得出这些系数相同,从而证明承诺的值满足逐元素乘法关系或置换关系。
在配对承诺时,会出现各种交叉项。非交互式证明的作用就是消除这些交叉项。通常,一个单一的群元素与 $g$ 配对就足以消除所有交叉项,因此逐元素乘积和置换的非交互式证明本身效率很高。
为了证明 NIZK 证明的可靠性,我们需要对这些多项式的系数进行推理。然而,作弊的证明者可能在不知道承诺打开方式的情况下创建承诺。这时,$q$-PKE 假设就派上用场了:证明者给出非交互式证明,表明
超级会员免费看
订阅专栏 解锁全文
589

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



