* Consistent type in KEM decaps API (#1004)
* uint8_t in non-PQClean KEM APIs
* uint8_t in PQCleam KEM APIs
* Additional uint8_t tweaks in PQClean KEM APIs
Co-authored-by: Sebastian <sebastianv89@users.noreply.github.com>
* test_sig: Add canaries around malloc'd regions
* test_sig/kem: disable canary checks in test_constant_time
* test_kem: test canaries after testing malformed ciphertext
* Fix potential NULL dereference in fix_test_kem
* Test without aligned pk, sk
This changes the test_kem.c functions like those in PQClean:
* also prefix magic bytes for checking for out-of-bounds access
* use odd numbers for breaking alignment
Includes #985
* Fix style
* rand.c: request at most 256 bytes per getentropy call
* CMake: Set OQS_HAVE_GETENTROPY
* rand.c: fopen/fread error handling
* rand.c: redundant test to silence warn_unused_result
* CMake: include CheckSymbolExists
UEFI/EDKII used openssl as crypto lib with OPENSSL_SYS_UEFI.
This patch adds OQS_SYS_UEFI macro in liboqs to indicate special build in UEFI/EDKII.
With this patch, we can start building liboqs in UEFI/EDKII.
For algorithm specific patches, we will submit one by one later.
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
* CMake: ARM toolchain files
* CI: Cross compile for ARM instead of emulating the entire build
* CMake: do not use mcpu=native when cross compiling
* CI: Disable testapproval [skip ci]
* CI: Disable armel tests
* CI: Disable test_mem on ARM
* Move copy_from_xkcp/CMakeLists.txt out of copy_from_xkcp/package.sh
* Namespace xkcp_low implementations for dist builds
* Run-time dispatching of sha3 calls
* Disable sha3 avx2 on windows
* 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
* sha3: remove old implementations
* sha3: new implementations
* picnic: use liboqs sha3 and sha3x4
* frodo: use new sha3x4 interface
* sphincs: use liboqs sha3x4
* fixup
* skip test_spdx on xkcp_low directory
* xkcp_sha3: explicit casts to avoid narrowing warnings
* xkcp_sha3x4: explicit casts to avoid narrowing warnings
* sha3: disable platform specific xkcp if OQS_PORTABLE_BUILD
* sha3: fix Wcast-qual warnings on clang-9
* fix 'reset' functions
* xkcp_sha3: skip fastloop call if input is not long enough
* xkcp_low: Enable lane complementing for plain-64bits
* xkcp_low: remove Kravatte definitions from times4/avx2
* Add common OQS_MEM_aligned_alloc and OQS_MEM_aligned_free
* Require both OQS_USE_OPENSSL and OQS_USE_SHA3_OPENSSL to enable OpenSSL's SHA3
* Fix some undefined behaviour in KeccakP-1600/plain-64bits
* Fix some undefined behaviour in KeccakP-1600times4/avx2
* Expand shake tests
* Add sha3x4.h include to oqs.h
* Add xkcp_low license info to readme [skip-ci]
* Add copy_from_xkcp scripts [skip-ci]
* SPDX License Info for new scripts [skip-ci]