This project is the implementaion of PRAMS, a practical keyword PIR protocol.
docker
cd ~/2pc
chmod +X ./test_with_output.sh
./test_with_output.sh
You just need to change N(database size) , tmax(occurance of the query keyword) in main.cpp and BIGINT_BITS(8*entry size Bytes) in bigint_types.h
and run test_with_output.sh again. (Since BIGINT_BITS is a primitve data type in C++ that cannot be compiled as a parameter in command line, we should change it in code.
So for convenience you can change N and tmax in the same way.)
In main.cpp, line 459
Change N to any perfect square(and usually a power of 2), representing the database size.
Change tmax to a number <=
In bigint_type.h, line 7
Change BINGINT_BITS to 128,256,512,1024 in order to replicate Table II in our paper.
After changing hard-coded parameters, run ./test_with_output.sh again.