New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

phe

Package Overview
Dependencies
Maintainers
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

phe

Partially Homomorphic Encryption library for Python

1.5.0
PyPI
Maintainers
4

python-paillier |release|

+---------------------+ | |ciTest| | +---------------------+ | |rtdM| | +---------------------+ | |reqM| | +---------------------+

A Python 3 library implementing the Paillier Partially Homomorphic Encryption.

The homomorphic properties of the paillier crypto system are:

  • Encrypted numbers can be multiplied by a non encrypted scalar.
  • Encrypted numbers can be added together.
  • Encrypted numbers can be added to non encrypted scalars.

Citing

python-paillier is designed, developed and supported by CSIRO's Data61 <https://www.data61.csiro.au/>__. If you use any part of this library in your research, please cite it using the following BibTex entry::

@misc{PythonPaillier,
  author = {CSIRO's Data61},
  title = {Python Paillier Library},
  year = {2013},
  publisher = {GitHub},
  journal = {GitHub Repository},
  howpublished = {\url{https://github.com/data61/python-paillier}},
}

Running unit tests

::

python setup.py test

Or use nose::

nosetests

gmpy2 is not required to use the library, but is preferred. A pure Python implementation is available but gmpy2 drastically improves performances. As indication on a laptop not dedicated to benchmarking, running the example examples/federated_learning_with_encryption.py provided in the library took:

  • 4.5s with gmpy2 installed
  • 35.7s without gmpy2 installed

However, gmpy2 is a requirement to run the tests.

Code History

Developed at Data61 | CSIRO <http://data61.csiro.au>_.

Parts derived from the Apache licensed Google project: https://code.google.com/p/encrypted-bigquery-client/

.. |release| image:: https://img.shields.io/pypi/v/phe.svg :target: https://pypi.python.org/pypi/phe/ :alt: Latest released version on PyPi

.. |ciTest| image:: https://github.com/data61/python-paillier/actions/workflows/test.yml/badge.svg :target: https://github.com/data61/python-paillier/actions/workflows/test.yml :alt: CI Status

.. |reqM| image:: https://requires.io/github/data61/python-paillier/requirements.svg?branch=master :target: https://requires.io/github/data61/python-paillier/requirements/?branch=master :alt: Requirements Status of master

.. |rtdM| image:: https://readthedocs.org/projects/python-paillier/badge/?version=stable :target: http://python-paillier.readthedocs.org/en/latest/?badge=stable :alt: Documentation Status

Keywords

cryptography encryption homomorphic

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts