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.

Inheritance diagram of PaillierRuntime

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)

Previous topic

A Thresholdbased Actively Secure Runtime

Next topic

Comparison protocols

This Page