Skip to content

hosseinabdinf/hybrid-HE-framework

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Framework for Hybrid Homomorphic Encryption

This repository contains code to test and benchmark symmetric ciphers in hybrid homomorphic encryption. This code is also used in the evaluations of the ciphers in the paper [1].

HE libraries

The following Homomorphic Encryption Libraries are part of the framework:

The libraries are included as submodules in this repository and will be downloaded to the thirdparty directory.

Ciphers

The following ciphers are already implemented in the framework:

Compilation

The framework is developed and tested on Linux (and WSL2). The dependencies of the framework are git, gcc/g++ (or clang/clang++), cmake, autoconf, and libtool. Install these dependencies with

sudo apt install build-essential cmake autoconf libtool

To compile the framework, execute the following commands from the root directory:

mkdir build
cd build
cmake ..
make -j4

Each cipher for each library will then have its own executable, located in build/test.

Adding a cipher

A new cipher can be added to the framework by adding the source code to the ciphers directory. Make sure to use the same structure and naming convention as the already implemented ciphers! Furthermore, add the cipher to CMakeLists.txt.

Benchmarking a cipher

The framework already includes different benchmarks, which are implemented in ciphers/common/<lib>_kats for Z_2 ciphers and in ciphers/common_Zp/<lib>_kats for Z_p ciphers. The benchmarks can be chosen by adding corresponding tests to the testvectors.h file of the cipher.

Citing our work

Please use the following BibTeX entry to cite our work in academic papers.

@article{HybridHE,
  author    = {Christoph Dobraunig and
               Lorenzo Grassi and
               Lukas Helminger and
               Christian Rechberger and
               Markus Schofnegger and
               Roman Walch},
  title     = {Pasta: A Case for Hybrid Homomorphic Encryption},
  journal   = {{IACR} Cryptol. ePrint Arch.},
  volume    = {2021},
  pages     = {731},
  year      = {2021}
}

[1] https://eprint.iacr.org/2021/731.pdf

About

A Hybrid Homomorphic Encrytpion framework

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 61.1%
  • C++ 37.8%
  • Other 1.1%