Skip to content

模型Model

Sigma 协议

Sigma protocol · Σ-protocol

具有首消息—随机挑战—响应三步结构,并满足特殊可靠性与诚实验证者零知识的公开币协议。

形式陈述 ​

设

R⊆X×W,LR={x:∃w, (x,w)∈R}

是可高效验证、见证长度受公开输入长度的多项式所界的见证关系。Sigma 协议是在公共输入 x 上证明“知道 w 使 (x,w)∈R”的三步公开币协议:证明者先发送首消息 a(习惯称为 commitment,但它不必是密码学承诺方案),验证者在首消息固定后,从已声明的有限挑战空间 E 独立均匀抽取 e,其中 |E|≥2,证明者返回响应 z。验证者以谓词

V(x,a,e,z)∈{0,1}

决定是否接受,三元组 (a,e,z) 称为 transcript。标准性质包括:

  1. 完备性:若 (x,w)∈R 且双方诚实执行,则验证者接受;
  2. 特殊可靠性:存在高效提取器 Ext,从两个具有相同首消息、不同挑战的接受 transcript
(a,e,z),(a,e′,z′),e≠e′

中输出见证 w,满足 (x,w)∈R;这是知识证明提取器的代数基础,但完整 PoK 结论还要写明 extractor 对作弊 prover 的访问、knowledge error 与期望运行时间; 3. 诚实验证者零知识:选择零知识的诚实验证者版本,要求同一不使用见证的高效模拟器,针对每个真语句及其任一合法见证,生成与诚实交互相同或不可区分的 transcript;具体声明完美、统计或计算口径。常用的 special HVZK 更要求给定任意合法挑战 e 后,能模拟以该 e 为挑战的条件分布。下面的 Schnorr 例满足这一更强版本。

在标准可重绕模型下,特殊可靠性可经提取定理推出知识误差 1/|E|;完整期望时间论证见 Damgård §3,而不是仅从两个 transcript 的代数公式宣布任意成功策略可高效重绕。对假语句,同一首消息至多存在一个可接受挑战,所以单轮 soundness 也至多为 1/|E|。特别是二元挑战只给 1/2;两次独立挑战的顺序重复、要求都接受,可把假语句错误降至 1/4,才满足交互式证明页的常数误差接口。原始三消息协议与重复后的协议须分别陈述。

直觉

Sigma 协议的关键不是首消息是否具有密码学承诺的隐藏性和绑定性,而是挑战必须在首消息固定后才产生。若同一个 a 能对两个不同挑战都给出有效响应,特殊可靠性就把这两份相容答案“相减”出一个见证;若只有一个挑战能回答,作弊者只能事先猜测。另一方面,诚实验证者零知识说明随机挑战下看到的完整对话可以脱离见证重造,因此对话没有向诚实验证者泄露额外可利用信息。

Sigma 协议示意图
例子与边界

Schnorr 身份协议是标准实例。特殊可靠性不是完整的并发安全定义,HVZK 也弱于对恶意验证者的零知识;协议组合时必须说明模型。

Schnorr 协议取素数阶 q 的循环群 G=⟨g⟩,公开值 y∈G,见证 x∈Zq 满足 y=gx。取 r←U(Zq),发送 a=gr,收到独立均匀挑战 e∈Zq 后返回 z=r+exmodq,验证群成员资格、z∈Zq 及 gz=aye。这里均匀有限集抽样作为随机原语;精确公平比特实现可用期望多项式拒绝抽样,严格有界实现需另计截断误差。若有同一 a 对不同 e,e′ 的两个有效响应,则

x=(z−z′)/(e−e′)

在 Zq 中成立:因为 q 为素数且 e≠e′(modq),分母可逆,从而提取见证。对给定挑战 e,模拟器均匀选 z∈Zq,置 a=gzy−e;映射 r↦z=r+ex 是双射,所以这与真实条件 transcript 完全同分布。

承诺随机数 r 复用会像签名 nonce 复用一样泄露 x。诚实验证者零知识不自动等于对任意恶意 verifier 零知识;挑战空间太小还会使冒充概率过高,需重复或扩大。

推论与应用

Sigma 协议构成身份认证、证明知识、AND/OR 组合以及 Fiat–Shamir 签名的模块化基础。零知识证明提供隐私目标,知识证明规定从成功 prover 提取见证的量词,交互式证明提供完备与可靠框架;Fiat–Shamir在 ROM 等附加模型中用哈希替换挑战,其 oracle programming 与非交互提取条件不能由交互 special soundness 自动推出。

参考资料
关系图谱9 个相邻概念 · 1 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组