#zero-knowledge-proofs #grpc-server #grpc-client #proof #zkp #client-server #algorithm

chaum_pedersen_auth

基于chaum pedersen算法实现的ZKP(零知识证明)实现

5个版本

新版本 0.1.4 2024年8月20日
0.1.3 2024年1月24日
0.1.2 2024年1月22日
0.1.1 2024年1月20日
0.1.0 2024年1月18日

8#zkp 中排名

Download history 2/week @ 2024-05-29 2/week @ 2024-06-05 1/week @ 2024-06-26 16/week @ 2024-07-03

每月 285 次下载
用于 2 crates

MIT/Apache

19KB
184

零知识证明算法实现 Awesome

如何使用此库?

TL;DR

  • cargo build (应在examples/protos中生成编译后的protobuf文件。注意build.rs文件仅用于编译示例文件夹中的proto文件。)
  • 启动服务器:cargo run --package chaum_pedersen_auth --example server
  • 启动客户端:cargo run --package chaum_pedersen_auth --example client
  • 查看示例文件夹,其中实现了使用gRPC协议的客户端和服务器。

理论

资产

  • Bob的资产:私钥:$x, k$
  • Alice的资产:随机密钥 $c$
  • 共享资产:生成器 $\alpha , \beta$。

注册

$\alpha^x \mod q$ , $\beta^x \mod q$

认证

Bob发送 $\alpha^k \mod q$ , $\beta^k \mod q$

  • Bob计算:$s = k - cx$
  • Alice验证:$\alpha^s (\alpha^x)^c \mod q$ , $\beta^s (\beta^x)^c\mod q$

使用

依赖关系

~0.7–1MB
~18K SLoC