ansible | ||
src | ||
.gitignore | ||
.gitmodules | ||
LICENSE | ||
README.md | ||
report.pdf |
Bachelor Project
- Title: Privately Matching Patients to Therapists using MPC
- Programme: B.Sc. in Software Development
- University: IT-University of Copenhagen
Overview
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.
How to run computation locally
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 --init
to clone MP-SDPZ as a submodule. - Navigate to
src/
. - Run
make -j$(nproc)
to install dependencies and compile MP-SPDZ. - Run
make gale_shapley.mpc
to compile the program. - Run
./gen_data.sh 50
to randomly generate data for the computation. - Run
./run.sh
to 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 -k
to kill computation).
Summary
git submodule update --init
cd src/
make -j$(nproc)
make gale_shapley.mpc
./gen_data.sh 50
./run.sh
If you want to change the size of the dataset, you need to change the
MATCHING_SIZE
constant in gale_shapley.mpc
as well.
License
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.