liboqs/docs/algorithms/kem_bike.md
Nir Drucker d3ff24cd31 Add BIKE to master and some autotools/Makefiles changes (#333)
* Supporting BIKE KEM reference code

* Hiding print global symbol when VERBOSE!=2

* Supporting USE_OPENSSL + OPENSSL_DIR

* - The file config/.gitkeep is no longer needed its purpose was to allow git having an empty folder (config).
- Moved the file acinclude.m4 to the config directory (where all the *.m4 files are).
- Added .travis/defs.sh - this file holds common definitions used by travis scripts.
- Changed style-check to first check for clang-format only then handle modified files.
- Sodium support is no longer required.
- Breaked configure.ac into sub m4 files
- Sorted the flags list.
- Changed FrodoKEM to Frodo for consistency with SIKE and BIKE. Note that it is already under the KEM directory.
- Chaned USE_* protocl flags to ENABLE_* for consistency
- Adjaust most of the makefile to have a consistent compilation flags
- Added some more compilation warnings.

* Rename functions by using a legend instead of the FN() macro

* prettyprint

* 1) Some more Makefiles cleanup 2)Adding OQS_API defnition - hidding other symbols

* Reverting frodo renaming

* Reverting the checks order.

* Removing NEW_API.md

* pretty print

* 1)Disable bad warnings on gcc4.8/4.9 2) Disable all warnings on SIKE

* Disable the cast-align warning for now

* Documentation

* 1) Reenable BIKE error messages
2) Auto detection of AVX/AVX2/BMI features.

* Enable AVX features only on X86_64 Linux platforms

* Adding BIKE additional implementation for Linux(x86_64) and GCC

* Fixing configure.ac when OpenSSL is disabled

* Enabling BIKE's AVX512 implementation

* Wrap AVX512 code with ifdef

* Changes from code review

* Prettyprint

* Fix typo

* Rename symbol
2018-08-14 13:07:16 -04:00

47 lines
3.3 KiB
Markdown

liboqs nist-branch algorithm datasheet: `kem_bike`
======================================================
Summary
-------
- **Name**: BIKE
- **Algorithm type**: Key Encapsulation Mechanism
- **Main cryptographic assumption**: Quasi Cyclic Syndrom Decoding (QCSD)
- **NIST submission URL**: https://csrc.nist.gov/CSRC/media/Projects/Post-Quantum-Cryptography/documents/round-1/submissions/BIKE.zip
- **Submitters (to NIST competition)**: Nicolas Aragon, Paulo Barreto, Slim Bettaieb, Loic Bidoux, Olivier Blazy, Jean-Christophe Deneuville, Phillipe Gaborit, Shay Gueron, Tim Guneysu, Carlos Aguilar Melchor, Rafael Misoczki, Edoardo Persichetti, Nicolas Sendrier, Jean-Pierre Tillich, Gilles Zemor
- **Submitters' website**: http://bikesuite.org/
- **Added to liboqs by**: Shay Gueron and Nir Drucker.
Parameter sets
--------------
| Parameter set | Security model | Claimed NIST security level | Public key size (bytes) | Secret key size (bytes) | Ciphertext size (bytes) | Shared secret size (bytes) |
|---------------------|:--------------:|:---------------------------:|:-----------------------:|:-----------------------:|:-----------------------:|:--------------------------:|
| BIKE1-L1 | IND-CPA | 1 | 2542 | 2542 | 2542 | 32 |
| BIKE1-L3 | IND-CPA | 3 | 4964 | 4964 | 4964 | 32 |
| BIKE1-L5 | IND-CPA | 5 | 8188 | 8188 | 8188 | 32 |
| BIKE2-L1 | IND-CPA | 1 | 2542 | 2542 | 2542 | 32 |
| BIKE2-L3 | IND-CPA | 3 | 4964 | 4964 | 4964 | 32 |
| BIKE2-L5 | IND-CPA | 5 | 8188 | 8188 | 8188 | 32 |
| BIKE3-L1 | IND-CPA | 1 | 2758 | 2758 | 2758 | 32 |
| BIKE3-L3 | IND-CPA | 3 | 5422 | 5422 | 5422 | 32 |
| BIKE3-L5 | IND-CPA | 5 | 9034 | 9034 | 9034 | 32 |
Implementation
--------------
- **Source of implementation:** This is a reference code (for functionality testing) that is based on the reference code of the Nist submission. This code was modified to use OpenSSL instead of NTL.
- **License:** MIT License
- **Language:** C
**Constant-time:** No
**Architectures supported in liboqs nist-branch**: x86, x64
Additional comments
-------------------
- The original BIKE implementation includes additional optimizations that are not currently being built in liboqs:
- CLMUL
- AES-NI
- AVX2
- AVX512