Expand description
§SIGMA Proofs
A Rust implementation of SIGMA (Σ) zero-knowledge proof protocols and the Fiat-Shamir transform.
This library implements the specifications from:
§Features
- Schnorr Proofs: Prove knowledge of discrete logarithms
- DLEQ Proofs: Prove equality of discrete logarithms
- Pedersen Commitment Proofs: Prove knowledge of commitment openings
- Fiat-Shamir Transform: Convert interactive proofs to non-interactive
§Example
ⓘ
use sigma_protocols::protocols::schnorr::{SchnorrProof, SchnorrStatement, SchnorrWitness};
use sigma_protocols::sigma::SigmaProtocol;
// Create a proof of knowledge of discrete logarithm
let statement = SchnorrStatement { public_key };
let witness = SchnorrWitness { secret_key };
let (commitment, state) = SchnorrProof::prover_commit(&statement, &witness);Re-exports§
pub use error::Error;pub use error::Result;pub use fiat_shamir::FiatShamirTransform;pub use sigma::Challenge;pub use sigma::Commitment;pub use sigma::Response;pub use sigma::SigmaProtocol;pub use transcript::Transcript;
Modules§
- error
- fiat_
shamir - Fiat-Shamir transform for non-interactive proofs.
- protocols
- Protocol implementations for specific zero-knowledge proofs.
- sigma
- Core traits and types for SIGMA protocols.
- transcript