• Stars
    star
    597
  • Rank 74,445 (Top 2 %)
  • Language
    Python
  • License
    Other
  • Created almost 10 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A library for Partially Homomorphic Encryption in Python

python-paillier Latest released version on PyPi

CI Status
Documentation Status
Requirements Status of master

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

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

More Repositories

1

stellar-random-walk

Scala
78
star
2

anonlink

Python implementation of anonymous linkage using cryptographic linkage keys
Python
61
star
3

PSL

Isabelle
56
star
4

clkhash

CLK hash: hash pii for entity matching
Python
47
star
5

gnaf

GNAF geocoder and more
Scala
42
star
6

cuda-fixnum

Extended-precision modular arithmetic library that targets CUDA.
Cuda
41
star
7

anonlink-entity-service

Privacy Preserving Record Linkage Service
Python
25
star
8

foldl-statistics

An reimplementation of the Statistics.Sample Haskell module using the foldl package
Haskell
21
star
9

gossamer

Gossamer bioinformatics suite
C++
19
star
10

blocklib

Python implementations of record linkage blocking techniques.
Python
18
star
11

dataFusion

matching between unstructured and structured data sets
Scala
14
star
12

landshark

Large-scale spatial inference with Tensorflow.
Python
10
star
13

javaclass

A parser for the Java class file format
Haskell
7
star
14

Mirza

Haskell
6
star
15

GS1Combinators

A library to parse the GS1 Events into Haskell data types
Haskell
5
star
16

anonlink-client

Python
5
star
17

anonlink-encoding-service

A simple REST api for clkhash
Python
4
star
18

papa-prelude

Prelude with only useful functions
Haskell
4
star
19

raap-sample-app

Minimal JS application which makes use of the RaaP API.
JavaScript
4
star
20

papa-prelude-semigroups

Prelude with only useful functions
Haskell
3
star
21

aremi-web-utils

A library of common code used by several web services for the AREMI project
Haskell
3
star
22

bom-solar-webservice

A service which accesses data stored in NetCDF files containing satellite DNI information for use on the AREMI platform
Haskell
3
star
23

argonaut

JSON parsing
Haskell
3
star
24

papa-prelude-semigroupoids

Prelude with only useful functions
Haskell
3
star
25

papa-prelude-lens

Prelude with only useful functions
Haskell
2
star
26

Openboard

Python
2
star
27

papa-implement

All implemented modules and others with multiple dependencies
Haskell
2
star
28

sixfiguregroup

Six figure group
Haskell
2
star
29

papa-lens

Libraries from the `lens` library.
Haskell
2
star
30

papa-prelude-core

Prelude with only useful functions
Haskell
2
star
31

apvi-webservice

A service for reformatting some of the information provided by APVI for use on the AREMI platform
Haskell
2
star
32

scholar-hackathon-2018

Information on the Data61 Summer Scholar hackathon 2018
2
star
33

pihanga

JavaScript
2
star
34

papa-semigroupoids-implement

Useful semigroupoids functions reimplemented
Haskell
1
star
35

papa-base

useful functions from base
Haskell
1
star
36

papa-bifunctors-implement

Useful bifunctors functions reimplemented
Haskell
1
star
37

aec-election-histories

Python
1
star
38

papa-include

Third party library components
Haskell
1
star
39

papa-lens-export

export useful functions from lens
Haskell
1
star
40

papa-semigroupoids

useful functions from semigroupoids
Haskell
1
star
41

papa-bifunctors

Useful bifunctors functions reimplemented
Haskell
1
star
42

papa-semigroupoids-export

export useful functions from semigroupoids
Haskell
1
star
43

papa-base-implement

Useful base functions reimplemented
Haskell
1
star
44

charts

Helm charts
1
star
45

papa-export

All exported modules
Haskell
1
star
46

u-boot-tk1-som

U-Boot for the Colorado Engineering TK1-SOM
C
1
star
47

papa-bifunctors-export

export useful functions from bifunctors
Haskell
1
star
48

papa-lens-implement

Useful lens functions reimplemented
Haskell
1
star
49

stellar-ERBaseline

Baseline of entity resolution model in the Stellar project
Java
1
star
50

papa-base-export

export useful functions from base
Haskell
1
star