Skip to main content

Module bulletproofs

Module bulletproofs 

Source
Expand description

Implementation of Pedersen Commitments and Bulletproofs, which are short non-interactive zero-knowledge proofs that require no trusted setup.

§Example

use fastcrypto::pedersen::{Blinding, PedersenCommitment};
let value = 300;
let range = Bits16;
let mut rng = rand::thread_rng();
let blinding = Blinding::rand(&mut rng);
let proof =
   RangeProof::prove(value, &blinding, &range, &mut rng).unwrap();
let commitment = PedersenCommitment::new(&RistrettoScalar::from(value), &blinding);
assert!(proof.verify(&commitment, &range, &mut rng).is_ok());

Structs§

RangeProof
Bulletproof Range Proofs

Enums§

Range