Skip to main content

Crate paillier_zk

Crate paillier_zk 

Source
Expand description

License Docs Crates io Discord

§paillier-zk

This crate provides ZK-proofs for some properties about paillier encryption. See the module docs for the properties and examples of usage.

This library is built on top of fast-paillier crate. This crate and the underlying big integer implementation are reexported for the consumer to be able to use them, instead of trying to match a version.

Re-exports§

pub use fast_paillier;

Modules§

backend
Abstract big integer backend. This module makes no guarantees of applicability, all methods are considered internal, except for conversion functions:
dlog_with_el_gamal_commitment
ZK-proof of discrete log with El-Gamal commitment. Called Пelog or Relog in the CGGMP24 papers.
multiexp
Optimized multiexponentiation with precomputations
no_small_factor
ZK-proof for factoring of a RSA modulus. Called Пfac or Rfac in the CGGMP24 paper.
paillier_affine_operation_in_range
ZK-proof of paillier operation with group commitment in range. Called Пaff-g or Raff-g in the CGGMP24 paper.
paillier_blum_modulus
ZK-proof of Paillier-Blum modulus. Called Пmod or Rmod in the CGGMP24 paper.
paillier_encryption_in_range
ZK-proof of paillier encryption in range. Called Пenc or Renc in the CGGMP24 paper.
paillier_encryption_in_range_with_el_gamal
ZK-proof of paillier encryption in range with El-Gamal commitment. Called Пenc-elg or Renc-elg in the CGGMP24 paper.

Macros§

load_pregenerated_data
Refer to examples/pregenerate.rs to see how data is pregenerated

Structs§

BadExponent
Error indicating that computation cannot be evaluated because of bad exponent
Error
Library general error type
InvalidProof
Error indicating that proof is invalid
PaillierError
Error indicating that encryption failed

Traits§

IntegerExt