TCS Lec13总结
1. 交互式证明系统 (IP)
核心思想
突破传统NP验证模型(证明者一次性发送“书面证明”,验证者确定性验证)。允许证明者(Prover, P)和验证者(Verifier, V)进行多轮交互,验证者可使用随机性。
定义 (Formal Definition)
- 语言 当存在交互算法 :
- 为 PPT 算法(输入 时运行时间 )。
- 完备性 (Completeness):
- 可靠性 (Soundness):
- 为交互轮数(消息数)。
直观理解
传统NP验证中(如数学证明),验证者被动检查"书面证明"。但若验证者加入随机提问(如随机抽查证明步骤),并允许证明者动态回应,可处理更复杂问题——例如验证"两个图不同构"这种没有简短书面证明的问题。随机性防止证明者预计算所有答案,交互使其能动态应对验证者的挑战。
关键协议与证明
- BPP ⊆ IP[1] (完美完备性)
- 构造:对 ,设 是 BPP 验证器(错误率 )。
- Prover 发送 满足:
- Prover 发送 满足:
- 完备性:当 ,存在 使析取式恒真。
- 可靠性:当 ,析取式成立的概率 (Chernoff 界)。
- 构造:对 ,设 是 BPP 验证器(错误率 )。
设计动机
BPP问题已有高效概率算法,但需向他人"证明"答案正确。本协议巧妙转化:证明者发送一组"魔改随机数" ,使得无论验证者用哪个随机数 ,总有一个 能通过验证。真命题时所有 被覆盖;假命题时多数 会失败。本质:用空间换证明,将概率验证压缩为单轮交互证明。
- GNI ∈ IP (图非同构)
- 协议 (Coke vs. Pepsi):
- Verifier 选随机比特 和置换 ,发送 。
- Prover 计算 使得 ,发送 。
- Verifier 接受 iff 。
- 完备性:若 ,Prover 可正确计算 (因 )。
- 可靠性:若 ,则 的分布与 独立,故 。
- 协议 (Coke vs. Pepsi):
为何随机置换图?
验证者将随机选中的图 用随机置换加密后发送 ,要求证明者指认原始图。若两图不同构(如可乐与百事), 必然只像其中一个,诚实证明者总能答对;若同构(如两杯可乐), 可能来自任一杯,证明者只能瞎猜。核心思想:用"同构混淆"制造不确定性,区分问题答案。
- GNI ∈ AM (Goldwasser-Sipser 集合下界协议)
- 定义集合 ,则:
- 协议:
- Arthur 发送随机哈希 (,)。
- Merlin 找到 满足 ,并发送 及证明。
- Arthur 验证 且 。
- 完备性分析:
- 若 (即 ),则:
- 若 (即 ),则:
- 若 (即 ),则:
- 区分间隙 ,故协议可靠。
- 定义集合 ,则:
2. 比特承诺 (Bit Commitment)
核心问题
如何在“先公开承诺,后揭示信息”的过程中,防止任何一方的欺诈行为?发送方希望承诺后不能反悔,接收方希望在揭示前无法窥探承诺内容。
形式化定义
- 承诺方案 是两阶段协议:
- Commit 阶段:发送者输出承诺值 。
- Reveal 阶段:发送者输出 ,验证者检查 。
- 安全性质:
- 计算隐藏性 (Hiding):
- 统计绑定性 (Binding):
- 计算隐藏性 (Hiding):
为何需隐藏 + 绑定?
想象"密封信封":发送者将消息封入信封(隐藏:看不见内容),接收者持有信封但发送者无法篡改内容(绑定:打开时必须是原消息)。
Naor 承诺方案 (基于 PRG)
- 构造:
- Receiver 发送随机 。
- Sender 选 , ,计算:
- 证明:
- 隐藏性:若 是 PRG,则 伪随机 隐藏 。
- 绑定性:Sender 想作弊需找到 使:
对随机 ,解存在的概率 (因方程数 )。
为何用PRG和随机串 ?
接收者先发随机串 (如公开信封编号),发送者用PRG生成"伪随机密钥" ,将 与密钥异或后作为承诺值。
- 隐藏: 像真随机数,掩盖了消息 。
- 绑定:想作弊需找到另一密钥 使得 ,但随机 几乎无解。本质:用伪随机性实现信息论安全绑定 + 计算安全隐藏。
公平抛币协议 (From Commitment)
- 协议:
- Alice 发送 ()。
- Bob 发送 。
- Alice 打开 揭示 。
- 输出 .
- 抗恶意 Bob:
为何Alice先承诺,Bob先亮出?
Alice用承诺锁住比特 (Bob无法窥探),Bob被迫先亮出 (此时 仍隐藏),Alice再揭晓 。这样:
- 恶意Bob选 时不知 ,无法控制 。
- 恶意Alice虽知 ,但承诺绑定了 ,无法更改。核心:承诺的"延迟揭晓"特性强制双方公平。
3. 零知识证明 (ZK Proofs)
形式化定义
- 计算零知识 (CZK):对任意 PPT ,存在 PPT 模拟器 使得:
其中 包含消息序列和 的随机带。
为何要求模拟器?
"不泄露知识"难直接定义。Goldwasser等提出:若能模拟出与真实对话不可区分的假对话,则真实对话必然未泄露知识(因假对话由模拟器生成,不含任何知识)。恶意验证者 的加入确保即使对方作弊,也无法榨取额外信息。
图同构 (GRAPH-ISO) 的 PZK 协议
- 协议:
- Prover 发送 ( 随机置换)。
- Verifier 发送挑战 。
- Prover 发送 (其中 满足 )。
- Verifier 接受 iff .
- 模拟器构造:
- 随机选 ,生成 。
- 运行 输入 得挑战 .
- 若 ,输出 ;否则 回退重试 (Rewind)。
- 期望运行时间:(因 )。
为何随机化图 + 挑战响应?
证明者先发送 的随机置换版本 (隐藏原图结构),验证者随机要求证明 与 或 同构。证明者用置换 回应。
- 零知识:恶意 可能故意选 想套取信息(如问 是否与某秘密图同构),但模拟器通过"重放"技巧:反复试错直到 的挑战匹配预设,输出合法对话而不需知识。本质:随机化 + 重放机制"骗过"验证者。
3-染色问题的 ZK 协议 (Goldreich-Micali-Wigderson)
- 协议:
- Prover 对随机置换染色 承诺 。
- Verifier 挑战随机边 .
- Prover 打开 .
- Verifier 检查 且承诺有效。
- 可靠性错误率:若图非 3-可染色,则:
- 零知识模拟器:
- 预选随机边 .
- 对 承诺随机不同颜色 ;其余顶点承诺 .
- 接收 的挑战 .
- 若 ,打开 ;否则 回退重试。
- 混合论证 (Hybrid Argument):
定义混合分布 (真实协议), (使用真染色但预选边), (仅对挑战边承诺真染色), (模拟器)。- :因 独立。
- :由承诺的隐藏性保证(非挑战边的承诺不可区分)。
- :挑战边的颜色在随机置换下分布相同。
为何承诺所有点颜色,但只揭晓一条边?
证明者对随机染色方案承诺(隐藏真实颜色),验证者随机抽查一条边要求揭晓。
- 真染色时边两点颜色必不同。
- 模拟器"作弊":预判一条边 承诺随机不同颜色,其余点承诺假颜色;若验证者恰好抽查该边,则过关;否则重试。关键:承诺的隐藏性掩护了非抽查点的假颜色,重放将成功概率提升至可行。
4. 关键结论与扩展
- 复杂度类关系:
- (Shamir 1990)。
- 对常数 ,有 (Goldwasser-Sipser)。
- 零知识证明的存在性:
- 若存在单向函数,则所有 NP 语言有 CZK 证明(基于承诺方案)。
- 统计零知识 (SZK) 类包含 GNI、Quadratic Residuosity 等。
- 现代密码学扩展:
- 公钥加密:基于陷门置换或格问题。
- 多方计算 (MPC):Yao’s Garbled Circuit, GMW 协议。
- 全同态加密 (FHE):Gentry 构造(基于 LWE)。