Git Product home page Git Product logo

bike's Introduction

Will Davis:
To construct additional tests
First make sure you run the commands from compilation steps below.
go to defs.h and select what params you want
run:
make bike-random-kat
make bike-encap-kat
make bike-decap-kat
This creates the binarys which you can execute

Additionally for interoperability testing
Again: go to defs.h and select what params you want
Then you can run:
make createKeyPairs
make createEncaps
make checkDecaps
Note that in these two files, you have to manually switch between
reading from and writing to _java_ or _csharp_

/FromNIST/createEncapsulations.c
/FromNIST/checkDecapsulations.c


Compilation Instructions
------------------------
BIKE reference and optimized implementations assume that OpenSSL and NTL 
libraries are available in the platform.

In most Linux/Debian distributions, the following commands will install all 
required packages:
sudo apt-get install libssl-dev
sudo apt-get install libntl-dev

The GMP library is a dependency of the NTL library. Many Linux distributions 
include GMP library by default. In case GMP is not natively available in your 
distribution, run the following additional command:
sudo apt-get install libgmp-dev   

The NTL library can be built with or without support to GF2X lib. The GF2X lib
enables faster polynomial multuplication, thus we recommend the use of NTL lib
with GF2X support. Check if the NTL available in your machine has GF2X support.
In case not, you will need to install GF2X lib (v 1.2 2017-07-03 14:28) and 
build NTL (v 11.3.2 2018.11.15) as follows:
$ ./configure NTL_GF2X_LIB=on
$ make
$ make check
$ make install
Also, make sure that -lgf2x is added to the compilation flags after -lgmp when
compiling BIKE.
 
Defining the Exectuable to be Built 
-----------------------------------
To compile this code for NIST KAT routine: make bike-nist-kat
To compile this code for demo tests: make bike-demo-test

Editing Scheme Parameters:
--------------------------
TO EDIT PARAMETERS AND SELECT THE BIKE VARIANT: please edit defs.h file in the 
indicated sections. 

Editing Debug Parameters:
-------------------------
The file measurements.h controls how the cycles are counted. Note that #define 
REPEAT is initially set to 100, which means that every keygen, encaps and decaps 
is repeated 100 times and the number of cycles is averaged.

bike's People

Contributors

davo176 avatar

Watchers

 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.