首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >zkSnark:限制多项式

zkSnark:限制多项式
EN

Cryptography用户
提问于 2021-10-08 10:47:06
回答 1查看 201关注 0票数 2

我正在阅读由Maksym Petkus - http://www.petkus.info/papers/WhyAndHowZkSnarkWorks.pdf编写的对zkSnark的解释。

我已经理解了前15页的所有内容。

在3.4中限制多项式(第16页)

在选择s的加密权力时,我们已经限制了一个证明程序,但是这种限制并没有被强制执行,例如,我们可以用任何可能的方法找到一些满足方程z_pz_h的任意值z_p = (z_h)^{t(s)},并提供给验证者,而不是g^pg^h。例如,对于一些随机的r z_h = g^rz_p = (g^{t(s)})^{r},可以根据s提供的加密能力计算g^{t(s)}。这就是为什么验证器需要证明只使用s提供的功率加密来计算g^pg^h,而没有其他的。

我无法理解验证程序如何能够找到满足z_pz_h的任意值,这些值满足z_p = (z_h)^{t(s)}?例如,对于一些随机的r z_h = g^rz_p = (g^{t(s)})^{r}

验证者不了解s &他也不了解g,那么他将如何做到这一点?

简而言之,我无法弄清楚什么是需要“限制多项式”的攻击(以防止)。

EN

回答 1

Cryptography用户

回答已采纳

发布于 2021-10-10 12:26:46

文章的第15页提供了E(s^0)=E(1)=g (我将将其称为E_0)。同样地,他们也得到了

E_1:=E(s), E_1:=E(s^2),\cdots, E_d:=E(s^d).

t(s)=\sum_{0\le i\le d}c_is^i (与c_i已知的验证程序)然后是g^{t(s)}=E(t(s))=\prod_{0\le i\le d}E_i^{c_i}

因此,证明器同时知道gg^{t(s)},并且像在本文中一样,他们可以选择一个随机的r来构造z_hz_p,方法是将这些值提高到幂r

攻击的要点是上面的计算不需要p(x)的知识,而这正是验证者应该证明的知识。一个愚蠢到认为随机值z_h等于g^{h(s)},而z_p确实等于g^{p(s)}的验证者没有什么与他们的信念相矛盾的。

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

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

复制
相关文章

相似问题

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