我对密码学有点陌生,我一直在研究知识抽取器来证明知识,我对使用一些不同的定义感到有点困惑。
在教科书或早期论文中(例如,参见Goldreich的教科书G中的定义4.7.2 ),我看到了大致定义为\exists \mathcal{E}的知识属性,使得\forall PPT验证器P^*能够说服验证者,\mathcal{E}^{P^*}可以输出证人。
然而,特别是在最近的zkSNARK论文中,我看到量词的顺序颠倒了(例如,参见Spartan S中的定义2.5 )。这里,知识产权是以\forall P^*的形式存在的,存在\mathcal{E} .
此外,我还在看直线提取器.这里,以P中的定义5为例,知识的稳健性再一次被称为\forall PPT P^*,存在\mathcal{E} .
有人能解释为什么定义写得不一样吗?
参考文献:
G Goldreich,密码学基础,第1卷
P:拉斐尔·帕斯。关于通用引用字符串和随机预言模型中的可否认性。密码2003
S Srinath .Spartan:高效通用的zkSNARK,没有可信的设置。CRYPTO 2020
发布于 2022-11-03 18:11:05
这是不寻常的,我不太确定为什么会存在这种差异,下面是我最好的猜测。
为了后退一步,通常使用提取器来表示,如果对手破坏了稳定性,那么您就可以解决一些困难的问题(例如,离散日志)。这方面的证明是这样的:假设您的对手\mathcal{A}反对该计划,而提取器\mathcal{E}则针对对手。然后,使用组问题来编制知识证明方案的参数,将这些参数提供给\mathcal{E},然后\mathcal{E}隐式地使用\mathcal{A},并最终输出一个见证。证人应该解决集体问题。
在这种情况下,我认为让\mathcal{E}特定于对手\mathcal{A},即您在S和P中看到的量词的顺序是可以的。如果对手和提取器存在,您仍然能够解决组问题,因此,如果问题很难,就不存在这样的对手。
但是通常要证明该方案的正确性,您可以构造一个提取器,而不使用\mathcal{A}的任何特定知识。这将是一个符合G定义的"univeral“提取器。想一想施诺尔的证明:它只需要退一次就行了,它不关心对手做什么。通常情况下,在这样的证据中,你不会对对手做出任何假设(除此之外,它是有效的),所以你的提取器无论如何都会是通用的。这将是一个非常奇怪的方案,需要您将不同的对手划分为不同的情况,为每个人找到一个提取器。
因为G中的定义包含了其他定义,所以它是一个更强的条件,所以人们可能选择使用特定于对手的提取器,因为从技术上来说,它是一个较弱的标准。但我看到的所有证据基本上都是G定义的证明,因为它们并不是针对对手的。
https://crypto.stackexchange.com/questions/102566
复制相似问题