AlessandroBudroni / EHT-C

Errors Hidden Trapdoor - C

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EHT- C

Build Status Coverage Status GPLv3 License

GitHub issues GitHub pull requests GitHub repo size

Errors Hidden Trapdoor is a public-key cryptosystem introduced with the manuscript New Public-Key Crypto-System EHT based on the well known LWE problem.

This repository contains a working proof-of-concept of EHT written in pure C with no external dependencies.

How to build

The code has been tested only on machines with Intel Core processors running Ubuntu/Linux Mint and GCC 9.3.0 as compiler. To build the repository, run the following

mkdir target
cd target
cmake ..
make

Run correctness tests

make test

To run the benchmark test for EHT-light-A, run the following

./test/EHT_light_A_bench_cycles

By default the memory is allocated both in heap and stack. One can choose the option of using only stack memory and achieve the best performances with the following

cmake -D FULL_STACK=ON ..

With the above, it may be required for some machines to increase the stack size available with ulimit -s 131070 to run EHT-medium-* and EHT-high-*.

We do not claim this code to be secure against side channel attacks and therefore it should not be used in production.

Licence

The code is released under the GNU General Public License version 3.

The function sample_error(...) in src/encrypt.c was taken and modified from a function in https://github.com/Microsoft/PQCrypto-LWEKE that is relased under the MIT Licence .

Authors:

  • Alessandro Budroni

About

Errors Hidden Trapdoor - C

License:GNU General Public License v3.0


Languages

Language:C 87.0%Language:CMake 12.6%Language:Shell 0.4%