All Projects → lschoe → Mpyc

lschoe / Mpyc

Licence: mit
MPyC for Secure Multiparty Computation in Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Mpyc

Datasafe
Datasafe - flexible and secure data storage and document sharing using cryptographic message syntax for data encryption
Stars: ✭ 32 (-77.46%)
Mutual labels:  cryptography, privacy
Veracruz
Main repository for the Veracruz privacy-preserving compute project.
Stars: ✭ 71 (-50%)
Mutual labels:  cryptography, privacy
Python Training
Python training for business analysts and traders
Stars: ✭ 972 (+584.51%)
Mutual labels:  jupyter, binder
Tf Encrypted
A Framework for Encrypted Machine Learning in TensorFlow
Stars: ✭ 832 (+485.92%)
Mutual labels:  cryptography, privacy
Library
Collection of papers in the field of distributed systems, game theory, cryptography, cryptoeconomics, zero knowledge
Stars: ✭ 100 (-29.58%)
Mutual labels:  cryptography, privacy
Pysyft
A library for answering questions using data you cannot see
Stars: ✭ 7,811 (+5400.7%)
Mutual labels:  cryptography, privacy
Cloakify
CloakifyFactory - Data Exfiltration & Infiltration In Plain Sight; Convert any filetype into list of everyday strings, using Text-Based Steganography; Evade DLP/MLS Devices, Defeat Data Whitelisting Controls, Social Engineering of Analysts, Evade AV Detection
Stars: ✭ 1,136 (+700%)
Mutual labels:  cryptography, privacy
Darkwire.io
End-to-end encrypted instant web chat
Stars: ✭ 594 (+318.31%)
Mutual labels:  cryptography, privacy
0fc
Anonymous web chat server, built on top of Themis/WebThemis
Stars: ✭ 98 (-30.99%)
Mutual labels:  cryptography, privacy
I2pdbrowser
i2pd browser bundle
Stars: ✭ 94 (-33.8%)
Mutual labels:  cryptography, privacy
Sdk Js
Tanker client-side encryption SDK for JavaScript
Stars: ✭ 786 (+453.52%)
Mutual labels:  cryptography, privacy
I2pd
🛡 I2P: End-to-End encrypted and anonymous Internet
Stars: ✭ 1,796 (+1164.79%)
Mutual labels:  cryptography, privacy
Monero
Monero: the secure, private, untraceable cryptocurrency
Stars: ✭ 6,503 (+4479.58%)
Mutual labels:  cryptography, privacy
Sephia Five
A secure and PGP enabled webmail module for Phosphorus Five
Stars: ✭ 21 (-85.21%)
Mutual labels:  cryptography, privacy
Cryptomator
Multi-platform transparent client-side encryption of your files in the cloud
Stars: ✭ 6,623 (+4564.08%)
Mutual labels:  cryptography, privacy
Pathwar
☠️ The Pathwar Project ☠️
Stars: ✭ 58 (-59.15%)
Mutual labels:  cryptography, privacy
Iotex Core
Official implementation of IoTeX blockchain protocol in Go.
Stars: ✭ 505 (+255.63%)
Mutual labels:  cryptography, privacy
Firo
The privacy-focused cryptocurrency
Stars: ✭ 528 (+271.83%)
Mutual labels:  cryptography, privacy
Repo2docker Action
GitHub Action for repo2docker
Stars: ✭ 88 (-38.03%)
Mutual labels:  jupyter, binder
Helm Chart
A store of Helm chart tarballs for deploying JupyterHub and BinderHub on a Kubernetes cluster
Stars: ✭ 123 (-13.38%)
Mutual labels:  jupyter, binder

Binder Travis CI codecov PyPI

MPyC MPyC logo 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/2. The underlying cryptographic protocols are based on threshold secret sharing over finite 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 the MPyC homepage for more info and background.

Click the "launch binder" badge above to view the entire repository and try out the Jupyter notebooks from the demos directory in the cloud, without any install.

Installation:

Just run: python setup.py install (pure Python, no dependencies).

See demos for usage examples and MPyC docs for pydoc-based documentation.

Notes:

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

  2. Installing package gmpy2 is optional, but will considerably enhance the performance of mpyc. If you use the conda package and environment manager, conda install gmpy2 should do the job. Otherwise, pip install gmpy2 can be used on Linux (first running apt install libmpc-dev may be necessary too), 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-cp39-cp39-win_amd64.whl to finish installation.

  3. Use run-all.sh or run-all.bat in the demos directory to have a quick look at all pure Python demos. The demos bnnmnist.py and cnnmnist.py require Numpy, the demo kmsurvival.py requires pandas, Matplotlib, and lifelines, and the demo ridgeregression.py even requires Scikit-learn. Also note the example Linux shell scripts and Windows batch files in the docs and tests directories.

  4. Directory demos\.config contains configuration info used to run MPyC with multiple parties. Also, Windows batch file 'gen.bat' shows how to generate fresh key material for SSL. OpenSSL is required to generate SSL key material of your own, use pip install pyOpenSSL.

  5. To use the Jupyter notebooks demos\*.ipynb, you need to have Jupyter installed, e.g., using pip install jupyter. The latest version of Jupyter will come with IPython 7.x, which supports top-level await. For example, instead of mpc.run(mpc.start()) one can now simply write await mpc.start() anywhere in a notebook cell, even outside a coroutine.

  6. For Python 3.8+, you also get top-level await by running python -m asyncio to launch a natively async REPL. By running python -m mpyc instead you even get this REPL with the MPyC runtime preloaded!

Copyright © 2018-2021 Berry Schoenmakers

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