【区块链与密码学】第10-12讲:非交互式零知识证明

85 篇文章 8 订阅
72 篇文章 15 订阅
本文介绍了非交互式零知识证明(NIZK)的概念,强调了Fiat-Shamir转换在将交互式协议转化为非交互证明中的作用。通过使用随机预言机模拟和Hash函数的抗碰撞性,Fiat-Shamir转换能够确保挑战的随机性和证明的有效性。然而,这一转换依赖于Hash函数作为随机预言机的假设,该假设无法被证明,只能作为信任的基础。
摘要由CSDN通过智能技术生成

【本课堂内容全部选编自武汉大学国家网络安全学院教授、博士生导师的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及时处理。】

10-12非交互式零知识证明

| Fiat-Shamir转换

回顾下Sigma协议,可以发现以下问题:

01Sigma协议的零知识性需要验证者是诚实的

那么,验证者不诚实的话,Sigma协议是否是零知识的?目前,无法说明这个问题。

02Sigma协议的安全基石除了困难问题外,还有什么?

答案是随机挑战。在可靠性分析过程中,可以看出随机挑战值是决定错误概率的关键。

03Sigma协议的效率如何?限制有哪些?

显然,计算量和通信量受限于协议的构造基石(如困难问题、挑战轮数等等)。而且,交互形式的协议限制了它的使用场景。


交互式零知识证明

只能够取信于一个验证者

只在某个时刻有效

非交互式零知识证明(NIZK)

可以取信于很多人(甚至所有人)

证明始终有效


Fiat-Shamir变换是一种可以将Sigma协议变成非交互证明的技术。它能够让证明者Prover可以通过给验证者Verifier发送一个证明信息即可完成证明(无需交互,无需返回挑战)。

而且,它能把任何一个Simga协议变成一个数字签名,签名的含义就是「知道这个Sigma协议的秘密的人已经签署了这个消息」。Prover能够创造一个证明,然后分发给很多个验证者,验证者可以不必联系Prover即可验证证明有效性。同时零知识也变得容易了,因为验证者或者其他敌手不能做任何事情。

以Schnorr协议为例,如果挑战值e可预知,那么任何人都可以成功欺骗V。

在交互证明时,挑战值可以由验证者V随机产生;

但在非交互证明时,如何保障挑战随机性和不被证明者控制?

为重建信任,Fiat-Shamir转换采用了随机预言机,即让「上帝」来选取挑战值。

问题又来了,真实的随机语言机是不存在。于是,密码学家作出了如下假设:

假设:一个密码学安全的 Hash 函数可以近似地模拟传说中的「随机预言机」。

注意:这个假设无法被证明,所以我们只能信任这个假设,或者说当做一个公理来用。

Hash函数的广义抗碰撞性质决定了它的输出可以模拟随机数,同时在很多情况下(并非所有),对 Hash函数实施攻击难度很高,于是许多的密码学家都在大胆使用。

今天的课程就到这里啦,下节课我们将继续学习非交互式零知识证明,敬请期待!

同学们可以关注点宽学园,每周持续更新区块链系列课程,小宽带你进入区块链世界。我们下节课见啦。

【区块链与密码学】课堂回顾:

区块链与密码学系列文章合集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值