Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sigma 协议及应用 #38

Open
winterpi opened this issue Apr 11, 2023 · 0 comments
Open

sigma 协议及应用 #38

winterpi opened this issue Apr 11, 2023 · 0 comments

Comments

@winterpi
Copy link
Owner

winterpi commented Apr 11, 2023

Sigma 交互式协议

  • Sigma 协议是理解零知识证明 ZKP 的一个基础,其思想就是 Prover 不给出私有信息,只是给出一个承诺 commitment,就可以让 Verifier 相信它拥有该信息。
  • 其协议的基本框架如下(因为其交互形状类似 Sigma 字符,所以得名):

  • 协议的具体实现方式参考下图
  • w 为 Prover 需要隐藏的信息;
  • 右侧 Verifier 需要进行多次挑战 challenge(从概率上确认Prover未作弊),所以称为交互式。

Sigma 非交互式协议

  • 交互协议中,verifier 会多次生成随机数进行挑战,是否可以由 Prover 来进行这种随机性?
  • 交互-->非交互:由 Prover 来生成一个随机数,但需要两方共同 setup 一下,如下图

Sigma 协议的应用

Schnorr 签名

  • Prover 对一消息 m 进行签名,Verifier 确认消息 m 是否由 Prover 签名
  • 签名过程:消息为 m,选择随机数 r, 计算承诺 R=r*G

  • Schnorr 签名的缺点:对于不同的消息,使用相同的随机数 r,可以根据响应 s 解方程,计算出私钥 x。

EdDSA (Edwards-curve Digital Signature Algorithm ) 签名

  • EdDSA 签名算法是对 Schnorr 签名算法的改进,不是选择随机数 r, 而是根据消息 m 计算出 r

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant