非交互式零知识证明:原理、实现与应用
1. 非交互式零知识证明概述
零知识证明(ZK)协议通常作为交互式协议,需要证明者和验证者之间进行交互。即使在单轮或恒定轮数的协议中,交互次数较少,但仍要求双方同时在线。然而,若能实现非交互式的零知识证明(NIZK),则可采用“单向”通信方式,具有诸多优势。
例如,假设有两位数学家P和V,P可能在环游世界的同时发现新数学定理的证明,并希望以零知识的方式向V证明这些定理。由于P可能没有固定地址且会在邮件送达前离开,非交互式证明就显得十分必要。
此外,非交互式零知识证明还有更现实的应用,如构建可证明安全的公钥加密方案以抵御CCA2攻击者。
2. 实现非交互式零知识证明的方法
- Blum、Feldman和Micali的方法 :若证明者P和验证者V共享随机挑战位,则可实现非交互式零知识证明。这些共享的随机挑战位可由双方共同信任的第三方提供(Rabin称之为随机信标),也可能是双方之前在一起时生成的。
- Fiat - Shamir启发式方法 :这是一种构建非交互式“知识证明”的通用方法。但使用该方法实现非交互性的同时,会失去零知识属性,即“暗证明”变为“公开证明”,变得可公开验证。
- Jakobsson、Sako和Impagliazzo的指定验证者证明技术 :该技术在使用Fiat - Shamir启发式方法的同时,保持了“暗证明”属性。若Alice为Bob进行证明,只有Bob能被证明的有效性说服,其他任何人会认为该证明要么是Alice进行的,
超级会员免费看
订阅专栏 解锁全文
906

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



