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