Paillier Crypto System
Paillier crypto system and two-party runtime.
The PaillierRuntime is a special two-player runtime based on
the homomorphic Paillier crypto system.
From the paper “Public-Key Cryptosystems Based on Composite Degree
Residuosity Classes” by Pascal Paillier in EUROCRYPT 1999, 223-238.
-
class viff.paillier.PaillierRuntime(player, threshold, options=None)
Two-player runtime based on the Paillier crypto system.
-
add(share_a, share_b)
Addition of shares.
Communication cost: none.
-
input(inputters, field, number=None)
Input number to the computation.
The input is shared using the share() method.
-
mul(share_a, share_b)
- Multiplication of shares.
-
open(share, receivers=None)
- Open share to receivers (defaults to both players).
-
prss_share_random(field)
- Generate a share of a uniformly random element.
-
share(inputters, field, number=None)
- Share number additively.
-
viff.paillier.encrypt(m, pubkey)
-
viff.paillier.decrypt(c, seckey)