# 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
```rust
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(¶ms, &value);
assert!(PedersenCommitment::verify(¶ms, &opening, &commitment));
```
## License
MIT OR Apache-2.0