A fork of https://git-crysp.uwaterloo.ca/avadapal/duoram with the scripts (on the prac_repro branch) to reproduce the experiments for the PRAC paper
avadapal f7c4d78599 folder to store preproc stuff | 1 year ago | |
---|---|---|
2p-preprocessing | 1 year ago | |
Docker | 1 year ago | |
boost | 1 year ago | |
duoram-online | 1 year ago | |
preprocessing | 1 year ago | |
.gitignore | 1 year ago | |
README.md | 1 year ago |
1. Prepreprocessing:
Let ip0, ip1, and ip2 be the IP addresses of the three docker containers. Consider a database of size `2^N`. To generate DPFs (with `t` threads) to do `w` writes and `r` reads.
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-aes`
1.2 `./p2preprocessing ip1 ip0 t N w r`
1.3 `./preprocessing1 ip2 ip0 t N w r`
1.4 `./preprocessing0 ip2 ip1 t N w 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 ip1 ip0 N W D I A`
2.4 `./duoram0 ip1 ip0 N W D I A`