读心术:从零知识证明中提取「知识」——探索零知识证明系列(4)
2023-05-01 来源:飞速影视
Bob 也不知道a,但是他知道a映射到曲线群上的点PK,即a*G。通过同态映射与Schwatz-Zippel 定理,Bob 可以校验z的计算过程是否正确,从而知道 Alice 确实是通过r和a计算得出的z,但是又不暴露r与a的值。还有,在协议第一步中产生的随机数 r保证了a的保密性。因为任何一个秘密当和一个符合「一致性分布」的随机数相加之后的和仍然符合「一致性分布」。
零知识
我们这里看一下 Schnorr 协议如何证明一个弱一些的「零知识」性质——「SHVZK」:
注:这里我们证明的仅仅是 Special Honest Verifier Zero-Knowledge(SHVZK)。SHVZK 要求协议中的 Bob 的行为不能不按常理出牌,比如他必须按协议约定,在第二步时,去传送带上取一个新鲜的随机数,并且立即使用。而通常意义上的「零知识」是不会对 Bob 做任何要求,所以我们说这里是一个弱一些的性质。虽然目前 Schnorr 协议不能证明完全的「零知识」,但经过添加一些协议步骤,就可以达到完全零知识的目的,细节这里不展开,有兴趣的读者请参考文献[4]。以后我们在讨论 Fiat-Shamir 变换时,还会再次讨论这个问题。
首先「模拟器」模拟一个「理想世界」,在理想世界中模拟出一个 Zlice 和 Bob 对话,Zlice 没有 Schnorr 协议中的知识,sk,而 Bob 是有公钥PK的。请大家看下图,Bob 需要在 Schnorr 协议中的第二步出示一个随机数c,这里有个额外的要求, 就是 Bob 只能「诚实地」从一个外部「随机数传送带」上拿一个随机数,每一个随机数都必须是事先抛k次「硬币」产生的一个2^k范围内的一次性分布随机数。Bob 不能采用任何别的方式产生随机数,这就是为何我们要求 Bob 是诚实的。
下面演示 Zlice 如何骗过 Bob:
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)
www.fs94.org-飞速影视 粤ICP备74369512号