* Added FreeBSD cpu feature detection to common/common.c
* Updated common/common.c to use __FreeBSD__ instead of __FREEBSD__
* added FreeBSD support to SIKE's CmakeLists.txt
* Added FreeBSD cpu feature detection to common/common.c
* Updated common/common.c to use __FreeBSD__ instead of __FREEBSD__
* added FreeBSD support to SIKE's CmakeLists.txt
* Added in comment to common.c to keep consistent with other platforms
* Added FreeBSD cpu feature detection to common/common.c
* Updated common/common.c to use __FreeBSD__ instead of __FREEBSD__
* added FreeBSD support to SIKE's CmakeLists.txt
* Added in comment to common.c to keep consistent with other platforms
* Updated documentation to say FreeBSD is support on aarch64
* Updated docs to indicated that SIKE is supported on FreeBSD on aarch64
* Updated sig templates to add support for arch specific upstreams. Currently behaves as expected, but still need to test (and integrate) dilithium
* Fixed a couple of build errors, and started work on dilithium integration from pqclean. Currently failing kat tests
* Updated templating for both sig and kem to make them look a little better
* Renamed dilithium folders so they are consistent across pqclean and pqcrystals so that copy_from_upstream script will function correctly
* Added arm optimized version of dilithium[2|3|5]
* Updating other signature schemes CMakeLists.txt to be the output of the updated templates
* Arm optimized implementation of dilithium is added, with randomized signing patched into it. copy_from_upstream script is working properly. Still need to update the update_docs scripts before ready to merge
* Finished updating docs scripts and yml files. Builds pass, so should be ready for a merge
* Fixed template issue with multiple compile flags
* Updated doc generation scripts so that all '_' in scheme names are replaced with '\_'
* Fixed a build issue when trying to use gcc11 on an arm based mac. Also updated kem templates so that any pqclean scheme that has a similar problem in the future can be fixed by just patching the assembly files
* adding M1 CI for gcc-11
Co-authored-by: Michael <57787676+baentsch@users.noreply.github.com>
* Update to Picnic 3.0.10 (fixes#1165)
* Disable Picnic SIMD optimizations on Cygwin (fixes#1163)
* Set WITH_OPT only if required
* Revert "remove picnic from cygwin build (#1171)"
This reverts commit 5608b465748281c8f84a97858dbd9887e77d6bd3.
* Update supported CPU extensions for Picnic
* Define PICNIC_EXPORT instead of PICNIC_STATIC
PICNIC_STATIC builds some internal functions only required for testing.
* Handle SSE2/AVX2/NEON in Picnic similar to other schemes
* Update to Picnic 3.0.8
* Add CMake option and compiler flag for using ARM PMU in speed
* Enabling use of ARM PMU for benchmarking when compiler flag is enabled (#1141)
* Enabling use of ARM PMU for benchmarking when compiler flag is enabled
* Adding documentation in code on how to enable PMU
Co-authored-by: Ted Eaton <ted@eeaton.ca>
* Added aarch64 optimized version of saber, lightsaber, and firesaber from pqclean
* Updated to latest commit of pqclean which fixes saber aarch64.
* Updated saber docs as per @dstebila's comment
* Removed duplicate lines from README.md
* Fixed local issue for duplicate lines in README.md. This is the output of the update docs script after fixing my local issue
* Set new version of Kyber ARM to use from PQClean
* Result of running copy_from_upstream
* Removed the need for pqclean aarch64 patches
* Updating doc generation to be a little more careful about when required flags is an empty list
Co-authored-by: Jason Goertzen <Martyrshot@gmail.com>
* Fix an issue where run_tests tried to run tests from upstream. Fix by @DStebila
* No longer checking spdx on files copied from upstream
* Added compiler checking for gcc. Must be at least 9.4.0.
* Added pqclean's aarch64 optimized kyber implementation to liboqs
* stripping asimd flag for ARM64_V8 as it isn't needed and will cause errors when trying to specify it during compilation
* Updated kyber docs
* Updated kyber markdown so that no-secret-dependent-branching-checked-by-valgrind correctly says false for the new aarch64 implementation
* Added automated updating of legacy yaml format, and added some yaml files which don't get automatically updated
* Fixed a bug where optimized upstreams would use the primary upstream's supported platform
* Fixed a bug with copy_from_upstream.py's verify function where it would always use the default upstream location when comparing with diff
* Added reporting for implementations that are in upstream but aren't yet integrated into liboqs
* Added support to ignore implementations from upstream in copy_from_upstream.yml. This is to prevent implementations that haven't been integrated into LIBOQS yet from being pulled in by copy_from_upstream.py. It also silences the warning when verifying.
* Adding updated ymls and md files for docs
* copy_from_upstream.py now also calls update_docs_from_yaml.py
* currently there is a bug where pytest doesn't work but the individual tests work... looking into it still.
* Fix an issue where run_tests tried to run tests from upstream. Fix by @DStebila
* No longer checking spdx on files copied from upstream
* pqclean's aarch64 kyber implementation is now being pulled from. Still need to clean things up.
* pqclean kyber fragment was left behind. It's now added
* Added compiler checking for gcc. Must be at least 9.4.0. Need to track down clang and appleclang
* Need to figure out how to handle commen dependencies from multiple upstreams
* Cleaned up copy_from_upstream.py a bit
* Added pqclean's aarch64 optimized kyber implementation to liboqs
* Added pqclean's aarch64 optimized kyber implementation to liboqs
* Fixed an isssue where 'empty' conditionals were added to kem_scheme.c files when there were no required flags
* reverting sabre to version prior to updated copy_from_upstream script
* stripping asimd flag for ARM64_V8 as it isn't needed and will cause errors when trying to specify it during compilation
* Fixed an issue where empty conditionals would appear when no required flags were specified
* Updated kyber docs
* Updated kyber docs with better formatting
* Adding updated kyber documentation
* Reverting documentation that was erroniously updated while updating kyber.
* Reverted ntruprime too far back by mistake
* Updated kyber doc's yml no-secret-dependent-branching-checked-by-valgrind to false
* Updated kyber markdown so that no-secret-dependent-branching-checked-by-valgrind correctly says false for the new aarch64 implementation
* sha256 cyrpto extensions seem to work, want to add neon version if crypto isn't available
* Added additional files to CMakeLists.txt
* SHA256 armv8 implementation is done. Still need to double check that everything is happen when complied on a non-arm system, and an arm system that doesn't have the cyrpto extensions
* Updated sha2 CMakeList.txt to resolve issue compiling on aws ARM system
* I think I have resolved the aws/rock1 build issues
* Removed an resolved TODO comment
* Fixed a cmake build bug when OQS_DIST_BUILD is "ON"
* Made CMAKE sha2 build more flexible when using OQS_DIST_BUILD
* Signature datasheets (#1053).
* Fixed a typo in the common CMakeLists.txt file related to SHA2
* Add runtime feature detection for macOS on Apple Silicon
* Changed macos_feature_detection to return unsigned int to fix warnings, and updated some uint32_t to const uint32_t to fix warnings on macOS on Apple silicon
Co-authored-by: Goutam Tamvada <xvzcf@users.noreply.github.com>
Co-authored-by: Douglas Stebila <dstebila@uwaterloo.ca>
* x86: Optimistic port to x86
No processor extensions support.
Tests are passed.
Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
* ppc64le: Optimistic port to ppc64le
No (AltiVec/VSX) processor extensions support is detected.
Tests are passed.
Note that `secure_cmp32` may require additional treatment for this
architecture.
Signed-off-by: Vitaly Chikunov <vt@altlinux.org>
* 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>