“Fiat–Shamir 以 Sigma 协议 的承诺—挑战—响应为输入,以 密码哈希实例化理想挑战,支撑 Schnorr 类签名、非交互知识证明和大量区块链证明系统中的 transcript…”
形式陈述
对语言
零知识是基于模拟的安全性在证明系统中的实例。定义还要先选模拟器资源类
其中
只对按协议行动的验证者模拟得到 honest-verifier ZK。黑盒或非黑盒模拟、单会话、顺序组合、并发组合以及是否有 CRS 等 setup 都是会改变定义的独立维度,不能从上述单会话恶意验证者定义自动推出。
直觉
零知识要求验证者在交互后得到的完整视图,可由一个不知道见证的模拟器高效生成。若真实视图和模拟视图不可区分,验证者便没有获得模拟器凭公开陈述和辅助输入无法产生的额外信息。声明为真、验证是否成功和消息长度仍可公开;零知识并不是“交互完全没有信息”。
完备性、可靠性、知识可靠性与零知识是不同轴。一个协议可以不泄露见证,却不能证明发送者确实“知道”见证;后者需要知识证明的 extractor、knowledge error 与运行时间条件。反过来,可提取协议也可能直接泄露 witness,故 PoK 不蕴含 ZK。
例子与边界
图同构的一轮协议与模拟
公开同顶点数的图
- 证明者均匀抽取顶点置换
,发送 。 - 诚实验证者均匀发送挑战
。 - 证明者发送
;验证者检查 是置换且 。
当
诚实验证者模拟器不需要见证:先均匀选
若可靠性只约束高效作弊证明者,所得对象是 argument 而非 proof。rewinding 模拟通常对会话调度敏感,安全会话任意并发后可能不再零知识。针对一般关系的非交互零知识通用构造通常引入 CRS、随机预言机或其他 setup;Fiat–Shamir 之类变换只能在相应附加模型中分析。仅说“transcript 没有直接出现见证”也不够,因为验证者的随机性和最终内部状态同样属于 view。
推论与应用
交互式证明提供完备性与可靠性框架,Sigma 协议是常用三步构造,Fiat–Shamir可在 ROM 等附加模型中非交互化。身份认证、匿名凭证、隐私交易、MPC 与可验证计算都使用零知识隐藏私密见证;使用组合定理前必须核对 stand-alone/并发环境、setup、腐化能力与模拟器资源,不能从单会话 view 模拟自动推出 UC 结论。
参考资料
- Dan Boneh and Victor Shoup, A Graduate Course in Applied Cryptography, version 0.6, 2023, Chapters 19–20.
- Oded Goldreich, Foundations of Cryptography, Vol. 1: Basic Tools, Cambridge University Press, 2001,Chapter 4;§4.3.1 定义、§4.3.2 图同构、§4.3.3 辅助输入、§4.3.4 顺序组合。作者目录。