Codebase and Known Answer Tests for the LEDAcrypt ciphersuite
License
LEDAcrypt/LEDAcrypt
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The submission for LEDAcrypt contains the following: • Reference_Implementation A reference implementation of the LEDAcrypt KEM, KEM with long-term keys (KEM-LT) and PKC. The reference implementation library does not provide a main() function, and is intended to be compiled and linked to a binary. The required NIST API is present in KEM/include/api.h, KEM-LT/include/api.h, PKC/include/api.h. The included makefile creates a statically linkable library for the chosen security level and value of the N0 parameters. The available security levels match NIST categories, it is thus possible to compile the library, e.g., for category 1 and N0=2 as: SL=1 N0=2 make The implementation assumes that libkeccak is installed and available in system-wide searched paths (e.g. /usr/local/include for the headerfiles and /usr/local/lib for the static library) • Optimized_Implementation An AVX2 optimized implementation of the LEDAcrypt KEM, KEM with long-term keys (KEM-LT) and PKC. The library is organized in the same fashion as the reference one. The implementation assumes that libkeccak is installed and available in system-wide searched paths (e.g. /usr/local/include for the headerfiles and /usr/local/lib for the static library) • Additional_Implementations This directory contains boilerplate code to allow an implementor to generate a new set of KAT inputs and outputs for each cryptosystem (KAT_generation-KEM, KAT_generation-KEM-LT , KAT_generation-PKC directory), and a small boilerplate performing synthetic performance benchmarks of the primitives (either Benchmarking_<primitive> for the reference implementation or Benchmarking_Opt_<primitive> for the optimized implementation). In all cases, the makefile will generate a binary for each combination of security category and number of circulant blocks N0 simply running make The KAT generation directories also contain a script which allows the generation of fresh KATs for all the (security category, N0) pairs, named katgen.sh. Running the script with no parameters from the KAT generation directories will call all the compiled binaries and generate the KATs. The implementation assumes that libkeccak is installed and available in system-wide searched paths (e.g. /usr/local/include for the headerfiles and /usr/local/lib for the static library) • KAT A set of responses to the Known Answer Tests, as obtained with the code present in Additional_Implementations/KAT_generation • Supporting_Documentation The PDF document describing the LEDAcrypt cryptosystem in detail. • LICENSE.txt The file containing the public domain license condition for the portion of the codebase which was authored by the submitter and implementors. The code which was not directly authored by the submitters and implementors is the one relative to AES and SHA3: the included implementations were released by the respective authors under public domain, and the submitters and implementors hereby re-license the present copy under public domain. • README This file.
About
Codebase and Known Answer Tests for the LEDAcrypt ciphersuite
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published