* std/r4/all algs enablement
* add documentation
* make doxygen happy
* Revert "make doxygen happy"
This reverts commit 9aedf2a7e651e0a686b2c5cade38db9af1e4b988.
* fall back to doxygen 1.9.2
* update github workflow to new filter naming
* adding appveyor testing for new OQS_ALGS_ENABLED option
* don't enable disabled vars
* add empty input test
* documenting focus on standard algs
* correct alg name typo
* Update README.md
Co-authored-by: Douglas Stebila <dstebila@users.noreply.github.com>
* Switch example to use Kyber-768.
Co-authored-by: Douglas Stebila <dstebila@users.noreply.github.com>
Co-authored-by: Douglas Stebila <dstebila@uwaterloo.ca>
* Solve '-Wstrict-prototypes'
Manual changes are applied to the following algorithms only:
* Bike
* Frodo
* Picnic
* Add prototype for implementation of `OQS_SIG_alg_count`
* Add prototype for implementation of `OQS_KEM_alg_count`
* Run `copy_from_upstream.py`
Now, the constructors have a full prototype. It compiles with clang 16.0
* Updated to SIKE v3.5.1
* Prettyprint
* Newline at the end of the file (to avoid error from -Wnewline-eof)
* Wrap logical not check in parenthesis, to avoid error from -Wlogical-not-parentheses
* Added empty functions to avoid unused errors on macOS
* Adding extra empty line at the end of assembly files to avoid newline-eof errors
* Fixing missing newlines at the end of the .S files
* Initialized some sike values
* Initialized a sike value
* Small edits
* Initialized some more SIKE variables
* sike cmake update
* include for windows
Co-authored-by: Basil Hess <bhe@zurich.ibm.com>
* 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 '\_'
* 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
* 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