This repository contains the implementation for our paper "Incremental Offline/Online PIR", which will appear at USENIX Security 2022.
- Implementation for incremental PIR protocol (folder
incremental-pir
) - Implementation for original CK PIR protocol (folder
baselines/ck-pir
) - DPF-PIR baseline imported from C++ DPF-PIR library (folder
baselines/dpf-pir
) [https://github.com/dkales/dpf-cpp] - End-to-end implementation for latency/throughput testing and tor trace simulation (folder
netbench
andtorsim
)
Please refer to install.md for installing related dependencies.
We did experiments on CloudLab, but it can also be run locally on a linux machine.
In folder incremental-pir
, run the script run.sh
. It will produce each column in the table. See here for more details.
For end-to-end tests, run binaries for server and client on two machines with the following parameters:
-i [ip addr]
-t [fixed time (0.01 per unit)] -l [offer load]
-d [db size] -s [set size] -n [nbrsets]
-a [incprep] -b [baseline]
where parameters for the server and the client should be the same except ip. See incremental pir, ck baseline and dpf baseline for more details.
The server program needs to be manually killed, otherwise, it will always wait for new requests.
See instructions in incremental pir, ck baseline and dpf baseline in each folder.
In folder torsim
, run sh run.sh
. Theen see figures generated in build
.
We have updated the code slightly from the version in Artifact Evaluation.