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.