All Projects → data61 → Python Paillier

data61 / Python Paillier

Licence: gpl-3.0
A library for Partially Homomorphic Encryption in Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Python Paillier

Kremlin
KreMLin is a tool for extracting low-level F* programs to readable C code
Stars: ✭ 285 (-15.68%)
Mutual labels:  cryptography
Encryptpad
Minimalist secure text editor and binary encryptor that implements RFC 4880 Open PGP format: symmetrically encrypted, compressed and integrity protected. The editor can protect files with passwords, key files or both.
Stars: ✭ 305 (-9.76%)
Mutual labels:  cryptography
Keyshuffling
Keyshuffling Attack for Persistent Early Code Execution in the Nintendo 3DS Secure Bootchain
Stars: ✭ 341 (+0.89%)
Mutual labels:  cryptography
Frameworks
Sample code and build environments for MPC frameworks
Stars: ✭ 288 (-14.79%)
Mutual labels:  cryptography
Ctf Challenges By Me
Pwnable|Web Security|Cryptography CTF-style challenges
Stars: ✭ 305 (-9.76%)
Mutual labels:  cryptography
Siphash
High-speed secure pseudorandom function for short messages
Stars: ✭ 331 (-2.07%)
Mutual labels:  cryptography
Wickr Crypto C
An implementation of the Wickr Secure Messaging Protocol in C
Stars: ✭ 279 (-17.46%)
Mutual labels:  cryptography
Multi Party Ecdsa
Rust implementation of {t,n}-threshold ECDSA (elliptic curve digital signature algorithm).
Stars: ✭ 339 (+0.3%)
Mutual labels:  cryptography
Sapient
Secure API Toolkit
Stars: ✭ 308 (-8.88%)
Mutual labels:  cryptography
Loki
Remote Access Tool
Stars: ✭ 338 (+0%)
Mutual labels:  cryptography
Awesome Cryptography
A curated list of cryptography resources and links.
Stars: ✭ 3,475 (+928.11%)
Mutual labels:  cryptography
Webfs
A Filesystem Built On Top of the Web.
Stars: ✭ 307 (-9.17%)
Mutual labels:  cryptography
Testnet3 Challenges
This repo is dedicated to Concordium Incentivized Testnet3.
Stars: ✭ 337 (-0.3%)
Mutual labels:  cryptography
Privatebin
A minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted in the browser using 256 bits AES.
Stars: ✭ 3,622 (+971.6%)
Mutual labels:  cryptography
Findcrypt Ghidra
IDA Pro's FindCrypt ported to Ghidra, with an updated and customizable signature database
Stars: ✭ 340 (+0.59%)
Mutual labels:  cryptography
Liburkel
Authenticated key-value store (i.e. an urkel tree)
Stars: ✭ 280 (-17.16%)
Mutual labels:  cryptography
Drand
🎲 A Distributed Randomness Beacon Daemon - Go implementation
Stars: ✭ 328 (-2.96%)
Mutual labels:  cryptography
Gonnacry
A Linux Ransomware
Stars: ✭ 341 (+0.89%)
Mutual labels:  cryptography
Stp
Simple Theorem Prover, an efficient SMT solver for bitvectors
Stars: ✭ 341 (+0.89%)
Mutual labels:  cryptography
Tsec
Type-safe general-cryptography library - https://jmcardon.github.io/tsec/
Stars: ✭ 338 (+0%)
Mutual labels:  cryptography

python-paillier |release|

+---------------------+ | |travisM| | +---------------------+ | |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

Note related to gmpy2

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

.. |travisM| image:: https://travis-ci.org/data61/python-paillier.svg?branch=master :target: https://travis-ci.org/data61/python-paillier :alt: CI status of Master

.. |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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].