CONTENTS OF THIS FILE --------------------- * Introduction * Setting up the docker * Running the code INTRODUCTION ------------ Setting up the docker ------------ Running the code ------------- 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`