si-commitment-scheme 0.1.0

Pedersen commitments, Blake3-based polynomial commitments, batch opening/verification with binding and hiding properties
Documentation

commitment-scheme

Pedersen commitments, Blake3-based polynomial commitments, batch opening/verification, and binding/hiding property verification in Rust.

Features

  • Pedersen commitments — over Curve25519 (Ristretto), homomorphic
  • Polynomial commitments — Blake3-based with evaluation proofs
  • Batch commitments — commit and verify multiple values at once
  • Binding verification — test computational binding property
  • Hiding verification — test statistical hiding property

Usage

use si_commitment_scheme::{PedersenCommitment, PedersenParams};
use curve25519_dalek::scalar::Scalar;

let params = PedersenParams::default();
let value = Scalar::from(42u64);

let (commitment, opening) = PedersenCommitment::commit(&params, &value);
assert!(PedersenCommitment::verify(&params, &opening, &commitment));

License

MIT OR Apache-2.0