Skip to content

Files

Latest commit

 

History

History
25 lines (17 loc) · 1.28 KB

README.md

File metadata and controls

25 lines (17 loc) · 1.28 KB

BtE Transciphering Framework with eHERA

This is an implementation of the BtE transciphering framework with the eHERA cipher. It includes the client-side encryption eHERA_client by eHERA, and the server-side transciphering eHERA_HE.

Client-side

eHERA_client contains a client-side implementation of the BtE framework: pure C++ implementation of the eHERA cipher, and an AVX2-optimized C++ implementation of the eHERA cipher, whose XOF is instantiated by BLAKE3. Parameter presets are given in parms.h.

Server-side

eHERA_HE is a server-side implementation of the BtE framework. The BtE framework is implemented using HElib. The server-side homomorphically evaluates eHERA keystream under BGV scheme to recover the original data, and extracts digits. Parameter presets are given in parms.h.

Dependency

To run the BtE framework with eHERA, C version of BLAKE3 ver 1.0.0. and HElib ver 2.1.0. are required to be built. The C version of BLAKE3 should be built to support AVX2 intrinsics in order to benchmark properly.