* Add defines for OQS version components
Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca>
* Set OQS_VERSION_TEXT based on new OQS_VERSION_* macros
Co-authored-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
Signed-off-by: Douglas Stebila <dstebila@users.noreply.github.com>
Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca>
* Make OQS_VERSION_PRE_RELEASE optionally defined
Co-authored-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
Signed-off-by: Douglas Stebila <dstebila@users.noreply.github.com>
Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca>
* Add documentation about OQS_VERSION macros
Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca>
* Clarify wording about definition of OQS_VERSION_PRE_RELEASE
Signed-off-by: Douglas Stebila <dstebila@users.noreply.github.com>
---------
Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca>
Signed-off-by: Douglas Stebila <dstebila@users.noreply.github.com>
Co-authored-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
* Renamed sha2 C_OR_NI to C_OR_ARM since we only select between C and ARM
* Updated AES C_OR_NI_OR_ARM's formatting and logic
* Renamed sha2_ni.c to sha2_armv8.c and updated CMakeLists.txt to fix build issues with arm optimized AES linking
* Fixed a feature detection logic issue
* Found an issue when compiling a distributed version
* Only apply -march=armv8-a+crypto to arm builds
* updated some naming
* Found an error on apple silicon not reporting that it supports SHA2 instructions
* Update output of test_hash
Co-authored-by: Jason Goertzen <Martyrshot@gmail.com>
* Import BIKE Round-3 Additional code
* astyle fix
* Fix for the shared build
* Added KATs sha256sum for BIKE-L1 and BIKE-L3
* Add check if the compiler supports VPCLMUL flag (some older ones don't)
* Disable BIKE build on 32-bit ARM
* Addressing comments on the PR
Co-authored-by: Dusan Kostic <dkostic@amazon.com>
* Replace OQS_PORTABLE_BUILD with OQS_DIST_BUILD
Also introduces OQS_OPT_TARGET and removes OQS_USE_CPU_EXTENSIONS
* Only compile sha3 avx2 code on Linux|Darwin
* Use new ARCH_ARM[X] flags in SIKE CMakeLists
* Update test_portability and rename to test_distbuild
* Update documentation for building Windows AMD64 from Ubuntu Bionic
* Update scripts/build-android.sh
* More specific CMAKE_SYSTEM_PROCESSOR for rasppi toolchain
* CI: Use OQS_DIST_BUILD in some jobs
* Replace OQS_get_available_CPU_extensions by OQS_CPU_has_extension
* ARM64v8/ARM32v7 runtime cpu feature detection
* Compile-time detection of some ARM features
* Toolchain files to cross compile for ARM32v7 and ARM64v8
* Remove unnecessary references to CMAKE_BUILD_TYPE=Release
* Use OQS_DIST_BUILD=ON on Windows
* Fix OQS_PORTABLE_BUILD logic for schemes imported with copy_from_upstream
* Correct interpretation of pclmulqdq required flag
* Only run detect_gcc_clang_intrinsics on X86_64
* added portability tests only on Ubuntu, documentation added
* using Westmere as test CPU type; disable avx2 for common code other than sha3x4 on portable builds
* removed extraneous PORTABLE_BUILD guards
* Start re-adding AES-NI with CPU feature detection
* Follow Goutam's feedback on CPU feature detection
* Macrify CPU feature detection logic in AES
* AES128 and AES256 using NI based on Romain Dolbeau's public domain code
* Fewer calls to C_OR_NI
* Restricting setting of OQS_USE_CPU_EXTENSIONS.
* Unroll AES loops
Co-authored-by: xvzcf <xvzcf@users.noreply.github.com>
* Add SPDX-License-Identifier in src/common
* Add SPDX-License-Identifier in FrodoKEM
* Add SPDX-License-Identifier in SIKE
* Add SPDX-License-Identifier in BIKE
* Add SPDX-License-Identifier in OQS headers
* Add SPDX-License-Identifier in files generated during copy-from-pqclean
* Add SPDX-License-Identifier in Picnic
* Add SPDX-License-Identifier in qTesla
* Add SPDX-License-Identifier in CMake files
* Update license info in README
* Add SPDX-License-Identifier in scripts
* Add SPDX-License-Info to CMakeLists
* Add SPDX-License-Info in tests
* Add SPDX-License-Info to various files
* Prettyprint
* Add test for SPDX-License-Identifier headers
* Updated license identifiers for CPU extension detection code.
* Use conjunction for SPDX in file with two licenses
Co-authored-by: xvzcf <xvzcf@users.noreply.github.com>
* Overhauled the propagation of compiler flags
* Added "Dependency" CMake build type
* Removed src/common/CMakeLists.txt and src/crypto/CMakeLists.txt
* Set default build type to exclude CPU extension-based optimizations
* Added -Wstrict-prototypes flag and fixed resulting errors.
* Removed double underscores from header guards.
* Changed EVP_MD_CTX_create to EVP_MD_CTX_new and EVP_MD_CTX_destroy to EVP_MD_CTX_free.
* Fixed comments.
* Changed Kyber function signatures.
* Revert "Changed EVP_MD_CTX_create to EVP_MD_CTX_new and EVP_MD_CTX_destroy to EVP_MD_CTX_free."
This reverts commit f09b5e49d73b16b56d332fbcfc3b671966032fd4.