首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Groth'16模拟器陷阱门

Groth'16模拟器陷阱门
EN

Cryptography用户
提问于 2022-08-04 00:47:19
回答 1查看 251关注 0票数 3

在Groth16方案(https://eprint.iacr.org/2016/260.pdf) 第2.2节的零知识定义中,为什么允许模拟器设置陷阱门?陷阱门信息包含了应该由设置销毁的有毒废物。换句话说,如果模拟器(即模拟被动攻击者)了解有毒废物,它会损害协议的安全性吗?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2022-08-13 10:22:14

陷阱门是争论零知识的基础。你可以这样想:有了陷阱门,证明者可以在不知道证人的情况下提供有效的证据,而且证据与真实的证据是无法区分的。这保证了没有任何关于证人的有效证据被泄露,因为没有它就可以产生类似的证据。

当然,圈套门不应该被现实世界的拥护者所知晓--这会让他们作弊。

在传统的NIZK系统(如Groth-Sahai )中,诀窍是系统参数可以在两种无法区分的模式中产生--一种带有陷阱门,另一种没有。在现实世界中,我们使用一个可以保证参数在无陷阱模式下生成的设置(实际上,我们也可以使用一个设置来生成带有陷阱门的参数,但以保证没有人知道陷阱门的方式)。

编辑-修正了一个不正确的答案,我混淆了Groth16 16和GrothSahai08 08,这要感谢威尔逊指出了这一点。

对于Groth来说,无陷阱模式是一个均匀的随机字符串。生成无陷阱参数的一种简单方法是使用"nothing up my袖“方法,即确保结果不受任何人控制的过程--例如,获取上一次抽奖的结果,添加一组小数的\pi,并使用SHA2对结果进行散列。任何类似的事情都会奏效的。

然而,对于SNARKs,特别是对于Groth16,情况完全不同:我们通常没有任何方法使用统一的随机字符串*来进行建筑工作。我们仍然需要这个陷阱门内部的模拟(当我们证明零-知识),但现在,我们必须确保验证者不知道陷阱门(并依靠一个指数的知识假设来表明,如果他们欺骗而不知道陷阱门,他们必须了解证人)。在这种情况下,最好的解决方案通常是使用多个当事方的安全分布式协议生成这个SRS,以“稀释”信任。这可能是昂贵的,也不是完全令人满意的,但这是一次性的成本,这是我们所能做的最好的(不仅仅是信任谁产生了SRS)。

(*)对于一些具有简洁证明但不简洁的验证器运行时的证明系统,例如防弹,我们可以这样做。就我所知,实现一个只依赖于随机字符串并具有简洁验证的高效的SNARK是一个开放的问题。

票数 3
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/101350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档