2025年KZG多项式承诺

KZG多项式承诺KZG 承诺是一种在密码学中使用的一种承诺方案 其名称源自其发明者的姓氏 Kate Zaverucha and Goldwasser 本文简要说明 KZG 承诺的基本构造 Step1 Setup 循环群 循环群 的生成元 是需要承诺多项式最大的阶数 计算并发布

大家好,我是讯享网,很高兴认识大家。

KZG 承诺是一种在密码学中使用的一种承诺方案,其名称源自其发明者的姓氏(Kate, Zaverucha, and Goldwasser)。本文简要说明 KZG 承诺的基本构造。

Step1 (Setup):
  • 循环群 G
    讯享网,循环群 G 的生成元 g;
  • l 是需要承诺多项式最大的阶数;
  • r \in F_p;
  • 计算并发布 (g,g^{r},g^{r^2},...,g^{r^l})。
Step 2 (Commit to polynomial):
  • 给定一个多项式:  f(x) = a_0+a_1x+a_2x^2+...+a_lx^l;
  • 计算并输出承诺:  c=g^{f(r)}=g^{a_0+a_1 r^1+a_2 r^2+...+a_d r^d}=({g^{r_0}})^{a_0}({g^{r_1}})^{a_1}...({g^{r_d}})^{a_d}。
Step 3 (Prove an evaluation):
  • 给定一个挑战值 z,Prover 计算 f(z)=s;
  • 计算并输出证明:\pi = g^{t(r)};
  • f(x)-s = (x-z)t(x) \rightarrow f(r)-s=(r-z)t(r)。

        其中,t(x) 被称为 “商多项式”,那么 t(x) 可以被 Prover 通过长除法计算出来:t(x)=\frac{f(x)-s}{(x-z)}。

Step 4 (Verify an evaluation proof):
  • 给定承诺 c=g^{f(r)},等式 f(z)=s 和 证明 \pi = g^{t(r)};
  • 验证:e(\frac{g^{f(r)}}{g^s},g)=e(g^{t(r)},\frac{g^r}{g^z})

这里我只是展示了 KZG 多项式承诺的关键算法,如果想要更多的了解背景和详细的数学知识,可以阅读以下文章。 

KZG in Practice: Polynomial Commitment Schemes and Their Usage in Scaling Ethereum

Alin Tomescu’s notes on KZG

​​​​​​Dankrad Feist’s notes on KZG

小讯
上一篇 2025-03-05 13:04
下一篇 2025-03-04 21:23

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/75011.html