This project contains an implementation of QC-MDPC McEliece cryptosystem over GF(4). This is a research-only implementation and is not safe against side-channel attacks. DO NOT use this in real software.
This project was implement as a part of my master's thesis at FEI STU in Bratislava.
You can either use an IDE such as Clion or you can run from terminal:
mkdir build
cd build
cmake ..
cmake --build .
./mdpc-gf4
Additionally, one may specify a build mode:
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build .
./mdpc-gf4
The default mode is Release
. There is also a Testing
mode to run unit tests:
mkdir build-testing
cd build-testing
cmake -DCMAKE_BUILD_TYPE=Testing ..
cmake --build .
./mdpc-gf4
-
finite field GF(4)
-
polynomials and polynomial operations over GF(4)
-
random generation of vectors
-
key generating
-
encoding and encryption
-
decoding (with multiple decoders) and decryption
We will gladly accept your contributions! Feel free to create issues, forks, MRs... Try to use Conventional Commits as much as possible.