Skip to main content

A framework for secure multiparty computation.

Project description

MPyC -- Secure Multiparty Computation in Python.

MPyC supports secure m-party computation tolerating a dishonest minority of up to t passively corrupt parties, where m>=1 and 0 <= t <= (m-1)/2. The underlying protocols are based on threshold secret sharing over prime fields (using Shamir's threshold scheme as well as pseudorandom secret sharing).

The details of the secure computation protocols are mostly transparent due to the use of sophisticated operator overloading combined with asynchronous evaluation of the associated protocols.

See MPyC homepage for more info and background.

Example installs:

python setup.py install

python setup.py install --user

See demos for usage examples.

Notes:

  1. Python 3.6 required (Python 3.5 or lower is not sufficient).

  2. Installing package gmpy2 is optional, but will considerably benefit the performance of mpyc. On Linux, pip install gmpy2 should do the job, but on Windows, this may fail with compiler errors. Fortunately, ready-to-go Python wheels for gmpy2 can be downloaded from Christoph Gohlke's excellent Unofficial Windows Binaries for Python Extension Packages webpage. Use, for example, pip install gmpy2-2.0.8-cp36-cp36m-win_amd64.whl to finish installation.

  3. A few simple Windows batch files are provided in the demos directory.

  4. To use the Jupyter notebooks demos\*.ipynb, you need to have Jupyter installed, e.g., using pip install jupyter.

  5. Latest versions of Jupyter use Tornado 5.0, which will not work with MPyC, see Jupyter notebook issue #3397. Downgrade Tornado by running pip install tornado==4.5.3.

Copyright © 2018, Berry Schoenmakers

Project details


Release history Release notifications

This version
History Node

0.3

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
mpyc-0.3-py3-none-any.whl (22.2 kB) Copy SHA256 hash SHA256 Wheel py3 Jun 1, 2018
mpyc-0.3.tar.gz (19.8 kB) Copy SHA256 hash SHA256 Source None Jun 1, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page