1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2018年4月16日 |
---|
#11 in #pedersen
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