/niederreiter

Niederreiter temporary repo

Primary LanguageAssemblyMIT LicenseMIT

Implementation of QC-MDPC Niederreiter public key encryption.
Author: Sebastian R. Verschoor

THIS CODE IS INSECURE. DO NOT USE THIS FOR ANYTHING THAT REQUIRES SECURITY.

A generic implementation of Niederreiter public key encryption using
quasi-cyclic moderate-density parity-check (QC-MDPC) codes.  The
implementation applies the KEM/DEM hybrid encryption scheme.  The
symmetric primitives are Keccak for hashing, Salsa20 for symmetric
encryption and Poly1305 for message authentication.

TODO:
- Choose symmetric encryption
  - Salsa20 or ChaCha20 (should have higher performance)
  - Or go with authenticated encryption for ease of implementation
    - easy to switch to the winner of CAESAR competition