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:
-
Python 3.6 required (Python 3.5 or lower is not sufficient).
-
Installing package
gmpy2
is optional, but will considerably benefit the performance ofmpyc
. On Linux,pip install gmpy2
should do the job, but on Windows, this may fail with compiler errors. Fortunately, ready-to-go Python wheels forgmpy2
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. -
A few simple Windows batch files are provided in the
demos
directory. -
To use the Jupyter notebooks
demos\*.ipynb
, you need to have Jupyter installed, e.g., usingpip install jupyter
. -
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.