* 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>
* Mark stack non-executable when compiling with clang or gcc
Fixes#1159
* Change noexecstack option on gcc
* Use gcc noexecstack only on non-Darwin
* Check for non-executable stack in shared object builds on Linux
* 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>