Expand description
§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.rsto see how data is pregenerated
Structs§
- BadExponent
- Error indicating that computation cannot be evaluated because of bad exponent
- Error
- Library general error type
- Invalid
Proof - Error indicating that proof is invalid
- Paillier
Error - Error indicating that encryption failed