Skip to main content

paillier-lib

This package provides a simple implementation of the Paillier cryptosystem using gmpy2.

Usage

from paillierlib import paillier
from gmpy2 import mpz

key_pair = paillier.keygen()  # Optional param.: bit size (default = 2048)

m1 = mpz(10)
m2 = mpz(1)
c1 = paillier.encrypt(m1, key_pair.public_key)
c2 = paillier.encrypt(m2, key_pair.public_key)

# Example homomorphic operations
# Addition
paillier.decrypt(c1 + c2, key_pair.private_key) # => 11
paillier.decrypt(c1 - c2, key_pair.private_key) # => 9
paillier.decrypt(c1 + c1 + c2, key_pair.private_key) # => 21

# Multiplication (ciphertext with plaintext)
m3 = mpz(2)
paillier.decrypt(c1 * m3, key_pair.private_key) # => 20

Requirements

gmpy2 (tested v2.0.8)

Planned Work

  • Encode inputs, rather than requiring GMP MPZ objects.

Release files for paillierlib 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paillierlib 0.0.2
File Size Uploaded
paillierlib-0.0.2.tar.gz 2.7 kB Details

Release files / paillierlib-0.0.2.tar.gz

Download URL paillierlib-0.0.2.tar.gz
Size 2.7 kB
Tags Source
SHA-256 checksum
How to use checksums
80c2db03dc136c82a59039b3e7a4dcc0ed3cec14b8732efb996d027999ed03f6
BLAKE2b-256 checksum
How to use checksums
22b7b1731249cafc33326e66e350588244ecbcae8810f615226283937c34a415
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.5

Release history Release notifications | RSS feed

This release

0.0.2 This release

1 release file

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page