【隐私计算】零知识证明ZKP

学习:隐私计算-ZKP

零知识证明 ZKP, Zero-Knowledge Proof
证明者可以用ZKP向验证者证明某个声明,而不泄露额外信息
  声明statement任何陈述即为声明
  EX: A为知道B已超过18岁查看其身份证
    声明:已过18岁
    额外信息:B的生日,姓名,证件号等等
类型:交互式零知识证明IZK, Interactive Zero-Knowledge: prover和verifier之间有若干信息交互
  非交互式零知识证明NIZK, Non-Interactive Zero-Knowledge: prover直接将证明发给verifier一条信息(没有回复没有交互

为什么我们需要ZKP:
在这里插入图片描述非色盲证明协议
  设想:你(证明者)想向我(验证者)证明你不是红蓝色盲1,我随即从红蓝球桶中任意桶里拿出一颗球,问你这是什么颜色,你要回答蓝色或红色。错误则认定你是红蓝色盲,为了防止你猜测正确,重复这个过程10~20次,如果全部正确则相信你不是红蓝色盲。
协议具备性质:
  1. 完备性Completeness:如果这个声明(证明者不是红蓝色盲)是真的,那么验证者一定会接受证明(如果你不是色盲,你一定会通过这个协议
  2. 可靠性Soundness: 如果验证者接受证明,那么这个声明大概率是真的

but协议非零知识zero-knowledge
  额外信息:每个桶里的颜色。如果验证者是色盲,验证者可以通过证明者来得到额外信息(如果验证者从左边桶里拿出,验证者回答红色即可知道左边桶是红色桶)
  改进:问题变为“2个球颜色是否一样”则证明者就不会泄露额外信息
  (安全假设:一个桶红球,一个桶篮球

完美的零知识性Perfect Zero-knowledge:在整个协议中,证明者泄露给验证者的额外信息为0
统计学的零知识性Statistical Zero-knowledge:在整个协议中,证明者泄露给验证者的额外信息是可忽略的
基于算力假设的零知识性Computational Zero-knowledge:在任意一个随机多项式时间的图灵机视角,在整个协议中,证明者泄露给验证者的额外信息是可忽略的

Practice:抽一张扑克牌用ZKP证明其为红色
 answer:将黑色的牌全部给验证者(NIZK)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值