From 3cf9849cc43545ad7fdeb3092a90f94ff1881680 Mon Sep 17 00:00:00 2001 From: Douglas Stebila Date: Wed, 3 Aug 2022 17:07:33 -0400 Subject: [PATCH] 0.7.2-rc1 --- CMakeLists.txt | 2 +- CONTRIBUTORS | 3 ++ RELEASE.md | 82 ++++++++++++++++++++++++++++++++++++++++++++-- src/CMakeLists.txt | 2 +- 4 files changed, 85 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 90b23bc791..fc027026a7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,7 +32,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.7.2-dev") +set(OQS_VERSION_TEXT "0.7.2-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 9836ef76fa..79792aa652 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1,6 +1,8 @@ Nicholas Allen (Amazon Web Services) Maxime Anvari Michael Baentsch +Zane Beckwith (SandboxAQ) +HY Chang Vitaly Chikunov Eric Crockett (Amazon Web Services) Nir Drucker @@ -21,6 +23,7 @@ Tancrède Lepoint (SRI International) Shravan Mishra (University of Waterloo) Christian Paquin (Microsoft Research) Alex Parent (University of Waterloo) +Sebastian Ramacher (Austrian Institute of Technology) John Schanck (University of Waterloo) Peter Schwabe (Radboud University Nijmegen) Dimitris Sikeridis (University of New Mexico, Cisco Systems) diff --git a/RELEASE.md b/RELEASE.md index 190c9b900a..ec5a496585 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,4 +1,4 @@ -liboqs version 0.7.2-dev +liboqs version 0.7.2-rc1 ======================== About @@ -29,18 +29,96 @@ liboqs can also be used in the following programming languages via language-spec Release notes ============= -This is the development branch for version 0.7.2 of liboqs. +This is release candidate 1 for version 0.7.2 of liboqs. What's New ---------- This release continues from the 0.7.1 release of liboqs. +The goal of this release is to provide a final release for algorithms that were included in Round 3 of the NIST Post-Quantum Standardization project. + +The next release of liboqs, version 0.8.0, will remove some algorithms that did not advance beyond NIST Round 3, update based on algorithm revisions that happened during Round 3, and begin to incorporate Round 4 changes. Discussion of algorithms to be removed in version 0.8.0 can be found in https://github.com/open-quantum-safe/liboqs/issues/1245. + ### Key encapsulation mechanisms +- Kyber: Update implementation +- HQC: Fix build on gcc-12 +- SIKE: Remove SIKE due to break (https://eprint.iacr.org/2022/975) ### Digital signature schemes +- Dilithium: Add ARMv8 optimized implementation +- Picnic: Update implementation +- Rainbow: Remove Rainbow level 1 due to break (https://eprint.iacr.org/2022/214) ### Other changes +- Add support for building on powerpc64 +- Update XKCP implementation +- Improve SHA2 implementation on ARMv8 +- Improve AES implementation on ARMv8 +- Add aarch64 CPU feature detection on FreeBSD +- Improve cross-compiling on Windows + +--- + +Detailed changelog +================== + +* Update Picnic to 3.0.8 by @sebastinas in https://github.com/open-quantum-safe/liboqs/pull/1158 +* XCode update by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1162 +* Add support for powerpc64 by @pkubaj in https://github.com/open-quantum-safe/liboqs/pull/1160 +* remove picnic from cygwin build by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1171 +* adding constant time test as weekly github action by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1170 +* extend weekly run timeout [skip ci] by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1172 +* Update XKCP and avoid assembler .ifdef directives by @jschanck in https://github.com/open-quantum-safe/liboqs/pull/1173 +* Updated constant_time suppression files after picnic update by @christianpaquin in https://github.com/open-quantum-safe/liboqs/pull/1174 +* Update to Picnic 3.0.9 by @sebastinas in https://github.com/open-quantum-safe/liboqs/pull/1167 +* Mark stack non-executable when compiling with clang or gcc by @dstebila in https://github.com/open-quantum-safe/liboqs/pull/1161 +* extend timeout to 10h by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1175 +* skip sphincs,rainbow in shortened weekly testing by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1176 +* Fixed build issue on arm based macs when using gcc11 by @Martyrshot in https://github.com/open-quantum-safe/liboqs/pull/1177 +* disable BIKE on all 32bitters except x86 by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1180 +* Update to picnic 3.0.11 (fixes #1178) by @sebastinas in https://github.com/open-quantum-safe/liboqs/pull/1181 +* Weekly run update by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1182 +* weekly job moved to Sunday [skip ci] by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1183 +* Resolves an issue when building sha2 using arm crypto extensions with gcc11 by @Martyrshot in https://github.com/open-quantum-safe/liboqs/pull/1184 +* Suppress constant time check for public matrix generation on Kyber AVX2 by @dstebila in https://github.com/open-quantum-safe/liboqs/pull/1189 +* create and install cmake import files by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1191 +* adding warning re Rainbow to documentation [skip ci] by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1193 +* ARMv8 optimized Dilithium by @Martyrshot in https://github.com/open-quantum-safe/liboqs/pull/1194 +* skip yamllint test for good by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1196 +* Edits to key scheduling for AES on ARM to be constant time by @tedeaton in https://github.com/open-quantum-safe/liboqs/pull/1200 +* Correct OQS_DIST_BUILD for ARM by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1202 +* Deal with some issues identified by clang scan-build by @dstebila in https://github.com/open-quantum-safe/liboqs/pull/1211 +* Issues and passes for aarch64 const time checks by @tedeaton in https://github.com/open-quantum-safe/liboqs/pull/1214 +* Use `SecRandomCopyBytes` for system randomness on iOS (to allow building on iOS) by @zanebeckwith in https://github.com/open-quantum-safe/liboqs/pull/1219 +* workaround for picnic under msys2 by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1220 +* Adding aarch64 CPU feature detection for FreeBSD by @Martyrshot in https://github.com/open-quantum-safe/liboqs/pull/1210 +* Added typecasts to tests/ds_benchmark.h to silence clang warnings by @Martyrshot in https://github.com/open-quantum-safe/liboqs/pull/1225 +* doxygen update by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1228 +* Link documentation and code by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1229 +* Integrates pqcrystals with common-aes / extends common code AES CTR-API by @bhess in https://github.com/open-quantum-safe/liboqs/pull/1221 +* Adds AES context release in Dilithium-AES / fix memory leak by @bhess in https://github.com/open-quantum-safe/liboqs/pull/1238 +* Update Picnic to 3.0.14 (fixes #1212) by @sebastinas in https://github.com/open-quantum-safe/liboqs/pull/1237 +* improve Windows crosscompile handling by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1236 +* Bump Picnic to 3.0.15 by @sebastinas in https://github.com/open-quantum-safe/liboqs/pull/1241 +* Updated Dilithium sign.c patch with AES context release (2) by @bhess in https://github.com/open-quantum-safe/liboqs/pull/1242 +* adding scan-build test by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1240 +* adding memory leak testing by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1234 +* disable msys2 testing by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1243 +* docs: Add valgrind as test dependencies in README.md by @yin19941005 in https://github.com/open-quantum-safe/liboqs/pull/1251 +* Sync Kyber with upstream, enable Scan-Build with Kyber by @bhess in https://github.com/open-quantum-safe/liboqs/pull/1252 +* Deal with the issue identified by valgrind by @splasky in https://github.com/open-quantum-safe/liboqs/pull/1250 +* pqclean_hqc: Fix build on GCC-12 by @vt-alt in https://github.com/open-quantum-safe/liboqs/pull/1254 +* Remove Rainbow level 1 by @dstebila in https://github.com/open-quantum-safe/liboqs/pull/1263 +* Updated to SIKE v3.5.1 by @christianpaquin in https://github.com/open-quantum-safe/liboqs/pull/1231 +* update PR template to include oqs-provider (OSSL dependency) [skip ci] by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1269 +* Update to Picnic 3.0.16 (fixes #1253) by @sebastinas in https://github.com/open-quantum-safe/liboqs/pull/1271 +* Remove SIDH and SIKE by @dstebila in https://github.com/open-quantum-safe/liboqs/pull/1272 +* fixing FreeBSD runtime ARM CPU feature detection by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1267 +* Update CODEOWNERS by @vsoftco in https://github.com/open-quantum-safe/liboqs/pull/1274 +* adding library version retrieval function by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1273 + +**Full Changelog**: https://github.com/open-quantum-safe/liboqs/compare/0.7.1...0.7.2-rc1 \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2d9dcfbee6..d3645e4088 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -91,7 +91,7 @@ set_target_properties(oqs ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" VERSION ${OQS_VERSION_TEXT} - SOVERSION 0 + SOVERSION 2 # For Windows DLLs RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")