Skip to content

martingrambow/ppe

Repository files navigation

Property Preserving Encryption

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:

Text

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.

BibTeX

@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.

License

The code in this repository is licensed under the terms of the GPUv2 License license.

Structure:

/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

Getting Started

These instructions will help you to start/modify the experiments.


Craft (Boldyreva)

Required software

  • Java 1.7
  • python
  • mysql
  • gcc
  • libffi-devel
  • python-devel
  • openssl-devel

Installing / Running

  • 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)

Keyvaluestore (POPE)

Required software

  • Java 1.7
  • python3
  • mysql
  • gcc
  • pycrypto

Installing / Running

  • 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

EFHE

Required software

  • Java 1.7
  • gcc
  • FFTW3

Installing / Running

  • Start server application (main.java.org.efhe.server.EFHEServer)
  • Start client application (main.java.org.efhe.client.EFHEClient)
  • run benchmarking script (*.sh)

Built With

  • Maven - Dependency Management

Used software

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published