Skip to content
master
Go to file
Code

README.md

Kyber

Build Status Coverage Status

This directory contains our implementation of Kyber. Both the reference code and the AVX2 optimized code are in the directories ref/ and avx2/, respectively.

CMake

Also available is a highly portable cmake based build system that permits building the same sources into a summary library as well as all the same tests.

For fastest build performance, use of Ninja is recommended.

All tests can be run by invoking the (your-favourite-build-tool-command-here) test target.

Worked example

By calling

mkdir build-ninja && cd build-ninja && cmake -DBUILD_SHARED_LIBS=ON -GNinja .. && ninja && ninja test

the whole Kyber software family gets built in a highly portable as well as an avx2-optimized version, tested and delivered in a shared library.

For example, by running ./avx2/./avx2/test_speed512-90s_avx2 in the newly created 'build-ninja' folder, performance testing of Kyber512-90s in the optimized AVX2 variant is executed.

The resultant library might also be installed using the install target.

Note: Testing on Windows has only been done using MSVS 2015 (cl version 19) and msbuild.

You can’t perform that action at this time.