Module scuttlebutt::commitment
source · [−]Expand description
A trait defining a Commitment Scheme and an implementation in the random oracle model using SHA256.
Usage
use crate::scuttlebutt::commitment::{Commitment, ShaCommitment};
// define a seed
let seed = [0u8; 32];
// create a commitment object
let mut commit = ShaCommitment::new(seed);
// write input messages
commit.input(b"hello ");
commit.input(b"world");
// finish commitment
let commitment = commit.finish();
// check a commitment
let seed = [0u8; 32];
let msg = b"hello world";
let mut commit_ = ShaCommitment::new(seed);
commit_.input(msg);
let commitment_ = commit_.finish();
assert!(ShaCommitment::check(&commitment,&commitment_));
Structs
A commitment in the random oracle model using SHA256.
Traits
Generic commitment scheme.