A framework for LEakage AttacK Evaluation on Real-world data
This framework allows for an easy evaluation of leakage attacks against encrypted search. See our paper (to appear) for more details
The framework has been written in Python 3.8. To install all requirements, you can use the
pip install -r requirements.txt
Additional steps are necessary for some attacks or optimizations:
For GLMP to use
graph-tool, you optionally can install python3-graph-tool and set the
For ApproxOrder, pybind11 and PQ-trees need to be downloaded, slighlty modified, and built. A script that does this is automatically called if the requirements are met. To enable this, you need to give that script executable permissions:
chmod +x leaker/pq-trees/compile_pq-trees.sh
To install LEAKER on your system, run:
pip install -e .
datawill be created by LEAKER to store indexed data and caches (in
data/whoosh) as well as the output of evaluations (
data_sourcesis a folder to input in the raw data to be indexed by LEAKER. Our examples and evaluation scripts use it, but you can use any input directory with LEAKER.
evaluationscontains the scripts to replicate the experiments in our paper. The
GOOGLE_README.txtcontains the instructions given to the participants that evaluated attacks on their private Google data.
examples.pycontains simple examples to show the usage of LEAKER.
leakercontains the core LEAKER module.
examples.py to see how to use LEAKER.
First, you need to download/extract the raw data into a corresponding subdirectory of
data_sources. Then, you can index
this data source (necessary only once) and load it with LEAKER to perform evaluations.
This framework has been developed by Abdelkarim Kati, Johannes Leupold, Tobias Stöckert, Amos Treiber, and Michael Yonli.
The framework also uses code by Ruben Groot Roessink for its IKK attack optimization, which is located in the folder
ikk_roessink and released under the