-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.txt
44 lines (36 loc) · 1.72 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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.