Giter Club home page Giter Club logo

kyber's Introduction

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.

kyber's People

Contributors

cryptojedi avatar gregorseiler avatar tlepoint avatar oittaa avatar lducas avatar baentsch avatar quininer avatar

Stargazers

Sofía Celi avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.