- Title: Privately Matching Patients to Therapists using MPC
- Programme: B.Sc. in Software Development
- University: IT-University of Copenhagen
This is the repository for the code accompanying my bachelor project. The
source code is located in the src/ directory. The version of MP-SPDZ used is
v0.3.6.
The ansible/ directory contains an Ansible playbook that provisions three
servers ready to use with MP-SPDZ. It also contains a Vagrantfile that can be
used to provision three virtual machines using VirtualBox.
This guide assumes an Ubuntu 22.04 environment and is only tested with such system. Make sure to have GNU Make installed.
- Clone this repository and run
git submodule update --initto clone MP-SDPZ as a submodule. - Navigate to
src/. - Run
make -j$(nproc)to install dependencies and compile MP-SPDZ. - Run
make gale_shapley.mpcto compile the program. - Run
./gen_data.sh 50to randomly generate data for the computation. - Run
./run.shto run the computation with three MPC parties locally in the background. The computation will print output tosrc/out-p${n}.txt(n = #party,./run.sh -kto kill computation).
git submodule update --init
cd src/
make -j$(nproc)
make gale_shapley.mpc
./gen_data.sh 50
./run.shIf you want to change the size of the dataset, you need to change the
MATCHING_SIZE constant in gale_shapley.mpc as well.
This project is licensed under the BSD 3-Clause license.
MP-SPDZ is licensed under the BSD 3-Clause license. It is linked to this Git repository as a submodule.