This prototype code was used in the paper "Three Tales of Disillusion: Benchmarking Property Preserving Encryption Schemes"
If you use this software in a publication, please cite it as:
Frank Pallas, Martin Grambow. Three Tales of Disillusion: Benchmarking Property Preserving Encryption Schemes. In: Proceedings of the 15th International Conference on Trust, Privacy and Security in Digital Business (TrustBus 2018). Springer 2018.
@incollection{paper_pallas_grambow_three_tales_disillusion,
Title = {Three Tales of Disillusion: Benchmarking Property Preserving Encryption Schemes},
Author = {Frank Pallas and Martin Grambow},
Booktitle = {15th International Conference on Trust, Privacy and Security in Digital Business - TrustBus 2018},
Year = {2018},
publisher="Springer"
}
A full list of our publications and prototypes is available on our group website.
The code in this repository is licensed under the terms of the GPUv2 License license.
/craft - benchmarking Boldyreva encryption scheme
/crypto - supporting classes for craft scenario
/efhe - benchmarking fully homomorphic encryption
/keyvaluestore - benchmarking Partial Order Preserving Encoding (POPE)
/resources - used (partially modified) implementations of encryption schemes
/util - supporting classes
These instructions will help you to start/modify the experiments.
- Java 1.7
- python
- mysql
- gcc
- libffi-devel
- python-devel
- openssl-devel
- Setup SSL certificates and truststores (if you want to use SSL)
- Setup and start mysql server
- Start encryption and decryption service (decryptServer.py, encryptServer.py)
- Start client application (main.java.org.craft.client.Main)
- Java 1.7
- python3
- mysql
- gcc
- pycrypto
- Start client application (main.java.org.metadata.client.ClientApplication)
- Start servers (main.java.org.metadata.server.POPEServerStarter)
- The servers have to be online when the script starts
- Java 1.7
- gcc
- FFTW3
- Start server application (main.java.org.efhe.server.EFHEServer)
- Start client application (main.java.org.efhe.client.EFHEClient)
- run benchmarking script (*.sh)
- Maven - Dependency Management