2个不稳定版本
0.2.0 | 2022年12月17日 |
---|---|
0.1.0 | 2022年12月17日 |
#995 in 密码学
1.5MB
82 行
hashcom-rs
⚡️ 在Rust中构建和使用哈希承诺方案的一个快速、最小但可扩展的框架 ⚡️
封面由DALL-E制作。
简介
承诺方案是一种非常强大的密码学原语,被许多现有解决方案所使用。
我受到go-ibft的启发,创建了一个框架,以便在Rust应用程序中轻松集成和自定义哈希承诺方案。
此包公开了一个trait,您可以在此基础上构建自己的方案,或者使用现有的方案。
架构
hashcom-rs
库公开了一个HashCommitmentScheme
trait,您可以使用自己的哈希函数来实现。您只需实现commit
和verify
方法。
已经提供了一个SHA256
实现。下面是如何使用它的一个示例(在这里,只有一个参与者同时作为证明者和验证者)
/// Here, one party acts as both the prover and the verifier,
/// assuming that the verifier is not malicious.
fn it_verifies_valid_commitment() {
let s: [u8; 4] = [52, 50, 52, 50]; // 4242 in string format.
let r: [u8; 4] = [50, 52, 50, 52]; // 2424 in string format.
// Commit phase.
let party = SHA256Commitment::new(&s, &r);
let commit = party.commit();
// Verification phase.
let verification = party.verify(&commit.unwrap(), &s, &r);
assert_eq!(verification.is_ok(), true);
assert_eq!(verification.unwrap(), true)
}
作者
由🤖 0xpanoramix 🤖用❤️制作