avadapal 0374e309a2 updated README | 1 год назад | |
---|---|---|
2p-preprocessing | 1 год назад | |
Docker | 1 год назад | |
boost | 1 год назад | |
cpir-read | 1 год назад | |
duoram-online | 1 год назад | |
preprocessing | 1 год назад | |
.gitignore | 1 год назад | |
README.md | 1 год назад |
/preprocessing
holds code for the 3-Party preprocessing phase
/2p-preprocessing
holds the OT-based code 2-Party preprocessing phase
/duoram-online
holds the code for online phase of the 3-Party Duoram and 2-Party reads
/cpir-read
includes the code CPIR-based reads
sh build-docker.sh
builds the docker imagesh run-docker.sh
launches three docker containers for parties P2, P0, and P1sh set-networking.sh
sets up the latencies and bandwidth constraints among the three docker containers launched; pass arguments of latency and bandwidthsh set-networking.sh 1ms 40mbit
.sh unset-networking.sh
removes the latency and bandwidth settings.sh experiments.sh
runs the pre-processing phase of the 3-party computation.sh experiments-online.sh
runs the online phase of the 3-party computation.sh experiments-OT.sh
runs the OTs to generate blinds of 2-party preprocesing phase.sh experiments-2p-preproc.sh
runs the pre-processing phase of the 2-party computation.sh experiments-cpir.sh
runs the CPIR-based reads.sh cleanup.sh
stops the three dockers.1. Prepreprocessing:
Let ip0, ip1, and ip2 be the IP addresses of the three docker containers. Consider a database of size `2^N`. Suppose the goal is to generate `r` DPFs.
The pre-processing generates DPFs with leaves of 128 bits. We use the first 64-bits for the writes. The remaining 64-bits are used for share conversion (XOR shared-flag vectors to additive shares)
1.1 `cd duoram/preprocessing`
1.2 `./p2preprocessing ip1 ip0 N r`
1.3 `./preprocessing1 ip2 ip0 N r`
1.4 `./preprocessing0 ip2 ip1 N r`
This writes the evaluations of DPFs into a file which we use in the online phase.
2. Online Phase:
Let ip0, ip1, and ip2 be the IP addresses of the three docker containers. Consider a database of size `2^N`.
2.1 `cd duoram/duoram-online`
2.2 `./p2 ip1 ip0 N W D I A`
2.3 `./duoram1 ip0 ip2 N W D I A`
2.4 `./duoram0 ip1 ip2 N W D I A`
Important Warning
This software is for performance testing ONLY! The purpose of this software is to evaluate the performance of the system, NOT to be used in a deployment scenario.