We use Bloom filters and Homomorphic Encryption (BFV) to enable Private Membership Test with a query complexy of O(1) under 0.3s in a single-thread execution, insertions and deletions with complexity O(n), and a practical setup time for databases with up to a few million entries.
This work has been accepted for publication at DATE 2021. A link will be added once it has been published.
./dependencies.sh
In directory elementwise or groupwise:
make prepare_database
It will create a database for testing purposes, and values to be queried, inserted, and removed.
In directory elementwise or groupwise:
make
make compile: compiles all programsmake query: checks if the items indata/query.dbare part of the databasemake insert: inserts the content ofdata/insert.dbin the databasemake remove: removes the content ofdata/remove.dbfrom the database
E. Chielle, H. Gamil and M. Maniatakos, "Real-time Private Membership Test using Homomorphic Encryption," 2021 Design, Automation & Test in Europe Conference & Exhibition (DATE), 2021, pp. 1282-1287, doi: 10.23919/DATE51398.2021.9473968.
@INPROCEEDINGS{9473968,
author={Chielle, Eduardo and Gamil, Homer and Maniatakos, Michail},
booktitle={2021 Design, Automation Test in Europe Conference Exhibition (DATE)},
title={Real-time Private Membership Test using Homomorphic Encryption},
year={2021},
volume={},
number={},
pages={1282-1287},
doi={10.23919/DATE51398.2021.9473968}
}