1
0
Fork 0
mirror of https://github.com/samsapti/bachelor-project.git synced 2024-12-27 21:07:53 +00:00
Privately Matching Patients to Therapists using MPC
Go to file
2023-05-14 22:35:05 +02:00
ansible Upgrade MP-SPDZ in Ansible too 2023-05-14 22:08:20 +02:00
src Add openssl as dependency 2023-05-14 22:35:05 +02:00
.gitignore Make gen_data.sh shuffle patient data and use it for therapists 2023-05-03 17:01:29 +02:00
.gitmodules Add shell script to run programs 2023-03-29 17:19:52 +02:00
LICENSE Add LICENSE 2023-05-14 18:44:30 +02:00
README.md Update README.md 2023-05-14 22:27:19 +02:00

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.

  1. Clone this repository and run git submodule update --init to clone MP-SDPZ as a submodule.
  2. Navigate to src/.
  3. Run make -j$(nproc) to install dependencies and compile MP-SPDZ.
  4. Run ./gen_data.sh 50 to randomly generate data for the computation.
  5. Run ./run.sh to run the computation with three MPC parties locally in the background. The computation will print output to src/out-p${n}.txt (n = party, ./run.sh -k to kill computation).

Summary

git submodule update --init
cd src/
make -j$(nproc)
./gen_data.sh 50
./run.sh

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.