diff --git a/CMakeLists.txt b/CMakeLists.txt index eb712a0d8..3dced1562 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,7 +25,7 @@ set(CMAKE_C_STANDARD 11) set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_C_VISIBILITY_PRESET hidden) -set(OQS_VERSION_TEXT "0.6.0") +set(OQS_VERSION_TEXT "0.7.0-rc1") set(OQS_COMPILE_BUILD_TARGET "${CMAKE_SYSTEM_PROCESSOR}-${CMAKE_HOST_SYSTEM}") set(CMAKE_EXPORT_COMPILE_COMMANDS ON) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 6c00389c1..7cdfc01d0 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1,6 +1,7 @@ Nicholas Allen (Amazon Web Services) Maxime Anvari Michael Baentsch +Vitaly Chikunov Eric Crockett (Amazon Web Services) Nir Drucker Ben Davies (University of Waterloo) @@ -12,10 +13,12 @@ Torben Hansen (Royal Holloway University of London) Basil Hess (IBM Research) Kevin Kane (Microsoft Research) Nikita Karpey (https://github.com/gadoofou87) +Dusan Kostic (Amazon Web Services) Tancrède Lepoint (SRI International) Shravan Mishra (University of Waterloo) Christian Paquin (Microsoft Research) Alex Parent (University of Waterloo) +John Schanck (University of Waterloo) Peter Schwabe (Radboud University Nijmegen) Dimitris Sikeridis (University of New Mexico, Cisco Systems) Douglas Stebila (University of Waterloo) @@ -23,3 +26,5 @@ Goutam Tamvada (University of Waterloo) John Underhill Sebastian Verschoor (University of Waterloo) Thom Wiggers (Radboud University) + +See additional contributors at https://github.com/open-quantum-safe/liboqs/graphs/contributors diff --git a/RELEASE.md b/RELEASE.md index 6431e9bcd..53fcd847c 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,5 +1,5 @@ -liboqs version 0.6.0 -==================== +liboqs version 0.7.0-rc1 +======================== About ----- @@ -28,31 +28,25 @@ liboqs can also be used in the following programming languages via language-spec Release notes ============= -This is version 0.6.0 of liboqs. It was released on June 8, 2021. +This is release candidate 1 for version 0.7.0 of liboqs. It was released on July 13, 2021. What's New ---------- -This release continues from the 0.5.0 release of liboqs. +This release continues from the 0.6.0 release of liboqs. ### Key encapsulation mechanisms -- Update Classic McEliece implementation -- Bug fixes in SIKE -- Bug fixes in HQC -- Change unsigned char to uint8_t in KEM API -- Fix wrong NIST level for Kyber768-90s +- Update BIKE to Round 3 (version 3.2) -- add BIKE1, BIKE3, remove BIKE1-L1-CPA, BIKE1-L1-FO, BIKE1-L3-CPA, BIKE1-L3-FO +- Update NTRU Prime implementation +- Update SIKE implementation +- Remove OQS\_KEM\_DEFAULT alias ### Digital signature schemes -- Update SPHINCS+ to Round 3 version +- Remove OQS\_SIG\_DEFAULT alias ### Other changes -- Improve random number generator when not relying on OpenSSL -- Improve run-time and compile-time guarding of optimized code -- Remove (unused) AES decryption code from common symmetric encryption code -- Replace AES plain C implementation with a constant-time version -- Update Windows cross-compiling toolchain -- **Build options changed**: - - By default, liboqs is now no longer built by default with CPU runtime feature detection and thus resulting executables may crash if not compiled suitably for the CPU on which the code shall be executed. For Docker files, we recommend setting [OQS\_DIST\_BUILD](https://github.com/open-quantum-safe/liboqs/wiki/Customizing-liboqs#OQS_DIST_BUILD) to obtain code able to handle different CPU feature sets. Also, [OQS\_OPT\_TARGET](https://github.com/open-quantum-safe/liboqs/wiki/Customizing-liboqs#oqs_opt_target) can be used to target a specific CPU at compile time. These flags are documented on the [build options wiki page](https://github.com/open-quantum-safe/liboqs/wiki/Customizing-liboqs). +- Allow liboqs to build on other architectures, with preliminary builds on ppc64le +- Support for building liboqs on Apple Silicon diff --git a/docs/algorithms/kem/bike.md b/docs/algorithms/kem/bike.md index fa213c857..472860a31 100644 --- a/docs/algorithms/kem/bike.md +++ b/docs/algorithms/kem/bike.md @@ -6,15 +6,13 @@ BIKE - **Scheme authors**: 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 - **Authors' website**: http://bikesuite.org/ - **Version**: 3.2 -- **Added to liboqs by**: Shay Gueron and Nir Drucker. +- **Added to liboqs by**: Shay Gueron, Nir Drucker, Dusan Kostic. Implementation -------------- - **Source of implementation**: https://bikesuite.org/additional.html -- **Implementation version**: BIKE-1 L1/3 with the BGF decoder (as defined in "QC-MDPC decoders with several shades of gray" at https://eprint.iacr.org/2019/1423) - - BIKE-1-FO L1/3 that matches [BIKE's v3.2](https://bikesuite.org/files/round2/spec/BIKE-Spec-2020.02.07.1.pdf) - - BIKE-1-CPA L1/3 that matches BIKE Round-1 (and BIKE v3.0) for backward compatibility +- **Implementation version**: BIKE Round-3 code from the "Additional implementation" available at https://github.com/awslabs/bike-kem. - **License**: Apache 2.0 License - **Constant-time**: Yes - **Optimizations**: Portable C with optional use (selected at compile-time, enabled by default if available) of AVX2 instructions @@ -24,9 +22,5 @@ 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-CPA | IND-CPA | 1 | 2542 | 3110 | 2542 | 32 | -| BIKE1-L3-CPA | IND-CPA | 3 | 4964 | 5788 | 4964 | 32 | -| BIKE1-L1-FO | IND-CCA | 1 | 2946 | 6460 | 2946 | 32 | -| BIKE1-L3-FO | IND-CCA | 3 | 6206 | 13236 | 6206 | 32 | | BIKE-L1 | IND-CPA | 1 | 1541 | 5223 | 1573 | 32 | | BIKE-L3 | IND-CPA | 3 | 3083 | 10105 | 3115 | 32 |