safe_zk_token_sdk/sigma_proofs/
mod.rs

1//! Collection of sigma proofs (more precisely, "arguments") that are used in the Safecoin zk-token
2//! protocol.
3//!
4//! The module contains implementations of the following proof systems that work on Pedersen
5//! commitments and twisted ElGamal ciphertexts:
6//! - Equality proof: can be used to certify that a twisted ElGamal ciphertext encrypts the same
7//! message as either a Pedersen commitment or another ElGamal ciphertext.
8//! - Validity proof: can be used to certify that a twisted ElGamal ciphertext is a properly-formed
9//! ciphertext with respect to a pair of ElGamal public keys.
10//! - Zero-balance proof: can be used to certify that a twisted ElGamal ciphertext encrypts the
11//! message 0.
12//! - Fee proof: can be used to certify that an ElGamal ciphertext properly encrypts a transfer
13//! fee.
14//!
15//! We refer to the zk-token paper for the formal details and security proofs of these argument
16//! systems.
17
18pub mod equality_proof;
19pub mod errors;
20pub mod fee_proof;
21pub mod pubkey_proof;
22pub mod validity_proof;
23pub mod zero_balance_proof;