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;
pub use rug;

Modules§

_doctest
group_element_vs_paillier_encryption_in_range
ZK-proof, called Пlog* or Rlog* in the CGGMP21 paper.
multiexp
Optimized multiexponentiation with precomputations
no_small_factor
ZK-proof for factoring of a RSA modulus. Called Пfac or Rfac in the CGGMP21 paper.
paillier_affine_operation_in_range
ZK-proof of paillier operation with group commitment in range. Called Пaff-g or Raff-g in the CGGMP21 paper.
paillier_blum_modulus
ZK-proof of Paillier-Blum modulus. Called Пmod or Rmod in the CGGMP21 paper.
paillier_encryption_in_range
ZK-proof of paillier encryption in range. Called Пenc or Renc in the CGGMP21 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
Integer
An arbitrary-precision integer.
InvalidProof
Error indicating that proof is invalid
PaillierError
Error indicating that encryption failed

Traits§

IntegerExt