This repository open-sources the experimental code used in the paper ROSE: Robust Searchable Encryption with Forward and Backward Security. Containing the implementations of ROSE (proposed in this paper), Fides, Horus, and IM-DSSEI+II.
All implementations are compiled and run under Ubuntu Server 20.04 X86_64 with GCC 9.4.0, cmake 3.16.3, and OpenSSL 1.1.1f.
ROSE additionally requires the Relic Ver. 0.5.0. Make sure configuring relic by passing the following argument to cmake before compiling it.
-DMULTI=PTHREAD
Fides additionally requires GMP Library. In Ubuntu, this library can be installed by the following command.
sudo apt-get install libgmp-dev
The code of Horus is revised from the corresponding code of Chamani. The code of Horus requires no additional libraries.
The code of IM-DSSEI+II is revised from the corresponding code of Hoang. To compile and run this code, one needs to install LibTomCrypt and libaesni.
Specifically, to install libaesni, one needs to run the following commands.
sudo apt-get install yasm
git clone https://github.com/amiralis/libaesni.git
cd libaesni
make -j
sudo cp libaes_lin64.so /usr/local/lib
sudo cp iaes*h /usr/local/include
sudo ldconfig -v
For the convenience of testing the code in this repo, we provide a Python script that can generate test data (a file named "sse_data_test") on the fly. To use that data, please run this script and place the generated file into the same directory as the compiled executables.