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`

 

 

 