现代密码学中的零知识证明与协议解析
1. 零知识证明基础概念
在现代密码学中,零知识证明(ZK)是一个重要的概念。为了使一个交互式证明协议(P, V)具有零知识属性,验证者V和相关计算能力通常需要被公共输入大小的多项式所限制。然而,对于证明者P的计算能力,之前并没有明确说明。
1.1 零知识论证
对于目前介绍的所有零知识协议,实际上都要求证明者P具有多项式有界的计算能力。在推理这些协议的可靠性时,通常会以“如果P不知道X的原像……”作为前提。对于特定语言,这个前提意味着P是多项式有界的。如果P具有无界的计算能力,能够在单向函数f下提取原像,那么这些协议的可靠性推理就不再有效。因为对于任何挑战,无界的P都能提取响应。
如果一个ZK协议(P, V)要求证明者P具有多项式有界的计算能力,那么该协议被称为零知识论证协议。通常,这种要求是为了建立协议的可靠性。论证不像证明那样严格,特别是当P是无界实体时,论证就失去了意义。目前已经看到了完美、诚实验证者、计算和统计零知识论证协议,例如Schnorr的身份验证协议就是一个ZK论证协议,但还没有遇到零知识证明协议。
在大多数实际应用中,安全系统的主体(包括ZK协议的证明者)的计算资源很可能是多项式有界的,因此零知识论证仍然是一个非常有用的概念。
1.2 零知识证明
在ZK证明协议中,可靠性属性可以在不要求证明者P具有多项式有界计算能力的情况下建立。以二次剩余性证明为例,这是一个很好的ZK证明协议示例,用于解决成员资格问题:对于奇数合数N,判断x是否属于QRN。
以下是相关的数论事实:
| 事实编号 | 内容 |
| -
超级会员免费看
订阅专栏 解锁全文

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



