diff --git a/README.md b/README.md index beeeab9..eee6d2b 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,44 @@ - **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 + +```sh +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.