|
@@ -35,32 +35,43 @@ Running the code
|
|
|
1. 3-Party 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 & make`
|
|
|
- 1.2 `./p2preprocessing ip1 ip0 N r`
|
|
|
- 1.3 `./preprocessing1 ip2 ip0 N r`
|
|
|
- 1.4 `./preprocessing0 ip2 ip1 N r`
|
|
|
+ - `cd duoram/preprocessing & make`
|
|
|
+ - `./p2preprocessing ip1 ip0 N r`
|
|
|
+ - `./preprocessing1 ip2 ip0 N r`
|
|
|
+ - `./preprocessing0 ip2 ip1 N r`
|
|
|
|
|
|
This writes the evaluations of DPFs into a file which we use in the online phase.
|
|
|
|
|
|
+ To run the preprocessing with debug flags set:
|
|
|
+ - `./debugp2preprocessing ip1 ip0 N r`
|
|
|
+ - `./debugpreprocessing1 ip2 ip0 N r`
|
|
|
+ - `./debugpreprocessing0 ip2 ip1 N r`
|
|
|
+
|
|
|
+
|
|
|
2. 3-Party 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 & make`
|
|
|
- 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`
|
|
|
+ - `cd duoram/duoram-online & make`
|
|
|
+ - `./p2 ip1 ip0 N W D I A`
|
|
|
+ - `./duoram1 ip0 ip2 N W D I A`
|
|
|
+ - `./duoram0 ip1 ip2 N W D I A`
|
|
|
+
|
|
|
+ To run the online phase with debug flags set:
|
|
|
+ - `./debugp2 ip1 ip0 N r`
|
|
|
+ - `./debugduoram1 ip2 ip0 N r`
|
|
|
+ - `./debugduoram1 ip2 ip1 N r`
|
|
|
|
|
|
3. 2-Party Preprocessing:
|
|
|
Let ip0 and ip1 be the IP addresses of the two docker containers. To generate `W` blinding factors:
|
|
|
- 3.1 `cd duoram/2p-preprocessing & make`
|
|
|
- 3.2 `./OT ip0 ip1 1 128*W
|
|
|
- 3.3 `./OT ip0 ip1 1 128*W
|
|
|
- 3.4 `./preprocessing1 ip0 N r`
|
|
|
- 3.5 `./preprocessing0 ip1 N r`
|
|
|
+ - `cd duoram/2p-preprocessing & make`
|
|
|
+ - `./OT ip0 ip1 1 128*W
|
|
|
+ - `./OT ip0 ip1 1 128*W
|
|
|
+ - `./preprocessing1 ip0 N r`
|
|
|
+ - `./preprocessing0 ip1 N r`
|
|
|
|
|
|
4. 2-Party Read:
|
|
|
- 4.1 `cd duoram/cpir-read/cxx & make`
|
|
|
- 4.2 ./spir_test1 ip0 N threads npreproc queries
|
|
|
- 4.3 ./spir_test0 ip1 N threads npreproc queries
|
|
|
+ - `cd duoram/cpir-read/cxx & make`
|
|
|
+ - ./spir_test1 ip0 N threads npreproc queries
|
|
|
+ - ./spir_test0 ip1 N threads npreproc queries
|
|
|
|
|
|
Important Warning
|
|
|
--------------------
|