零知识协议的特性与应用
1. 零知识协议概述
零知识协议(ZK 协议)旨在实现这样一种效果:在协议执行后,除了证明者声明的有效性之外,验证者不会获取到关于证明者私人输入的任何信息。为了达成这一目标,需要限制验证者的计算能力,使其受限于公共输入规模的多项式。接下来,我们将详细探讨几种不同类型的零知识特性。
2. 完美零知识协议
2.1 完美零知识的定义
对于语言 L 的交互式证明(IP)协议 (P, V),若对于任意 x ∈ L,(P, V)(x) 的证明转录可以由一个多项式时间(输入规模的多项式)算法 π(x) 以相同的概率分布生成,那么该协议就被称为完美零知识协议。通常,这个高效算法 π 被称为模拟器,但在完美零知识协议的情况下,我们更愿意称其为赤道器。
2.2 示例协议分析
以 Prot 18.1 为例,在该协议中,Alice 发送的 Commit 和 Response 数据是均匀分布的,与公共输入 X 无关,因此不会向 Bob 透露任何关于 Alice 私人输入的信息,这表明该协议是完美零知识协议。即使 Bob 不诚实,他也无法影响 Alice 转录的分布。
2.3 施诺尔身份验证协议
施诺尔身份验证协议是 Prot 18.1 的一个特殊情况,其中函数 f(x) 由 g⁻ˣ (mod p) 实现。该协议允许 Bob 使用最大为 log₂ log₂ p 位的稍大挑战,从而降低了消息交互的轮数,提高了性能。
2.3.1 协议步骤
- 公共输入 :p, q 为两个质数,满足
超级会员免费看
订阅专栏 解锁全文

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



