#elliptic-curve #commitment #pedersen #value #tiny #com

tiny_ped_com

适用于椭圆曲线上的Pedersen承诺的轻量级Rust库

1个不稳定版本

使用旧的Rust 2015

0.1.0 2018年4月16日

#11 in #pedersen

MIT 协议

9KB
97

Tiny Ped Com

适用于椭圆曲线上的Pedersen承诺的轻量级Rust库。

Pedersen承诺是一种密码学构造,允许一方(Alice)向另一方(Bob)承诺一个值,而不向Bob泄露该值,直到稍后。在那一刻,Alice通过告诉Bob她所承诺的值以及一个证明(证明她的值现在与她的原始值相同)来“打开”承诺。

此实现使用curve25519-dalek进行椭圆曲线操作。

示例

let mut rng = OsRng::new().unwrap();
let val = tiny_ped_com::CommitmentValue::from_u64(3);

let (verifier_pub_key, mut verifier) = tiny_ped_com::CommitVerifier::init(&mut rng);
let (commitment, commitment_opening) = tiny_ped_com::Committer::commit(&mut rng, &val, &verifier_pub_key);

verifier.receive_commitment(commitment);

let did_verify = verifier.verify(&val, &commitment_opening);
assert_eq!(did_verify, true);

警告

自行承担风险。此加密代码未经审计,极有可能存在安全漏洞。不建议用于任何用途。

依赖项

~1.5–2.4MB
~47K SLoC