# SyMPC **Repository Path**: ling-java/SyMPC ## Basic Information - **Project Name**: SyMPC - **Description**: mirror of https://github.com/OpenMined/SyMPC - **Primary Language**: Python - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-24 - **Last Updated**: 2024-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README .. raw:: html


SyMPC
SyMPC

A library that extends PySyft with SMPC support

SyMPC **/ˈsɪmpəθi/** is a library which extends `PySyft `_ ≥0.3 with SMPC support. It allows computing over encrypted data, and to train and evaluate neural networks. Installation ############ SyMPC is a companion library for PySyft. Therefore, we will need to install PySyft among other dependencies. We recommend using a virtual environment like `conda`. .. code:: bash $ conda create -n sympc python=3.9 $ conda activate sympc $ pip install -r requirements.txt $ pip install . You can also run SyMPC using docker by running the following commands. .. code:: bash $ docker build -t sympc -f docker-images/Dockerfile . #builds image named sympc $ docker run -i -t sympc #runs the container Getting Started ############### If we want to start learning how to use SyMPC we can go to the *examples* folder and execute the *introduction.ipynb*. .. code:: bash $ conda activate sympc $ pip install jupyter $ jupyter notebook examples/introduction.ipynb If we decided to use docker, we would need to run the image and publish the jupyter notebook port .. code:: bash $ sudo docker run -i -t -p 8888:8888 sympc $ jupyter notebook examples/introduction.ipynb --allow-root --ip=0.0.0.0 Finally, we would need to copy the url shown in the docker to our browser. Supported protocols ################### SyMPC supports the following protocols. .. table:: +--------------+------------------------+-----------------------+ | **Protocol** | **Security Guarantee** | **Number of Parties** | +==============+========================+=======================+ | ABY3 | Semi-honest, Malicious | 3 | +--------------+------------------------+-----------------------+ | Falcon | Semi-honest, Malicious | 3 | +--------------+------------------------+-----------------------+ | FSS | Semi-honest | 2 | +--------------+------------------------+-----------------------+ | SPDZ | Semi-honest | 2+ | +--------------+------------------------+-----------------------+ We can see other interesting information about the supported operations and Neural Network layers in `Supported operations and Neural Network layers `_. Contributing ############ We are open to collaboration! If you want to start contributing you only need to: 1. Check the `contributing guidelines `_. 2. Search for an issue in which you would like to work. Issues for newcomers are labeled with **good first issue**. 3. Create a PR solving the issue. License ####### This project is licensed under the `MIT License `_. Disclaimer ########## This library should not be used in a production environment because it is still a prototype.