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


Download files

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

Source Distribution

mpyc-0.3.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mpyc-0.3-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file mpyc-0.3.tar.gz.

File metadata

  • Download URL: mpyc-0.3.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mpyc-0.3.tar.gz
Algorithm Hash digest
SHA256 6e1a9ded01e68d4609b7b846815107ab5e8a82563ade3d35442aae4b372a8005
MD5 5590fce5f1d9bf763db4a031dd3fe631
BLAKE2b-256 e03beb4f6a1a35c5c1b72382bb82cbf02525ab4e1b21092b8144856779ccde01

See more details on using hashes here.

File details

Details for the file mpyc-0.3-py3-none-any.whl.

File metadata

  • Download URL: mpyc-0.3-py3-none-any.whl
  • Upload date:
  • Size: 22.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mpyc-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f130b5304ce28045f4bc2bc8201dce3fd25081cb7beeeab4d965c67d7c981d63
MD5 d31a38ec71bb832e17cf6149de25a128
BLAKE2b-256 0629816a9b71a2588390b3e031ed4ea8f33caf78e19a18f13d9a74ba22f0ff7f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page