251 Commits

Author SHA1 Message Date
Jason Goertzen
0807ecf9af
Adding support for multiple upstream to copy_from_upstream, as well as pqclean's aarch64 kyber implementation (#1117)
* 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
2021-11-10 14:22:49 -05:00
Christian Paquin
468533abea
Updated Picnic to v3.0.5 (#1116)
* Updated Picnic to v3.0.5
2021-10-30 07:52:56 +02:00
Michael Baentsch
6175da8246
Add S/NTRUP1277 (#1111)
* adds S/NTRUP1277

* disable McEliece for OSX shared CCI runs

* known sntrup constant_time issue suppressed
2021-10-22 09:31:47 -04:00
Douglas Stebila
fff05ccf92
Update BIKE documentation to reflect only little endian support [skip ci] (#1105)
Fixes #1104
2021-10-14 09:33:39 +02:00
Douglas Stebila
36d8a49c88
Update to PQClean commit 5b8ef3baea3ffdfbf688a3a1bb8f02de44a67ec0 (#1097)
* Update to PQClean commit 5b8ef3baea3ffdfbf688a3a1bb8f02de44a67ec0

* executed python3 scripts/update_docs_from_yaml.py

Co-authored-by: Michael <57787676+baentsch@users.noreply.github.com>
2021-10-01 12:31:31 -04:00
Michael Baentsch
c0a550f736
do full upstream doc generation (#1066)
* do full upstream doc generation 

* added Common_META merge logic

* integrated src and doc upstream copy

* 'upstream' information auto-generated

* sort 'required_flags' for reproducability
2021-09-14 17:42:03 +02:00
Basil Hess
75b648e9f6
Kyber/Dilithium copy_from_upstream (#1088)
* Kyber/Dilithium copy_from_upstream

* Updated algorithm docs
2021-09-13 21:07:25 +02:00
Christian Paquin
8a5c29819d
Updated SIKE to upstream commit effa60, addressing issue 1056. (#1079) 2021-08-27 22:09:10 -04:00
Douglas Stebila
b72b89efdb
Add test suite comparing parameters in C with parameters in YML (#1070)
* Add test suite comparing parameters in C with parameters in YML

* Fix/bypass CI failures for test_alg_info
2021-08-05 15:32:43 -04:00
Douglas Stebila
30fbfd826f
Sync with PQClean (#1061)
* Sync with PQClean 6c1ea921ee4a06a6b50c742ca540bb9b5e51aee2

* Update documentation YML from PQClean

* Update documentation from PQClean
2021-08-01 17:02:22 -04:00
Goutam Tamvada
4de651c723
Refactoring documentation generation. (#1057) 2021-07-30 13:26:44 -04:00
Goutam Tamvada
6315abe19e
Signature datasheets (#1053). 2021-07-23 14:35:24 -04:00
Goutam Tamvada
760b3886fa
New datasheets (#1030)
* Documentation YAML files and automatic markdown generation for KEMS.

* Escape underscores

Co-authored-by: Douglas Stebila <dstebila@uwaterloo.ca>
2021-07-15 13:50:46 -04:00
Douglas Stebila
f52f908715 liboqs 0.7.0-rc1 2021-07-14 11:13:01 -04:00
Douglas Stebila
1009721f15
Update Doxygen file (#1046)
Fixes #1029
2021-07-05 17:23:52 +02:00
Christian Paquin
c071b01272
Sike June updates (#1028)
* Integrated SIKE's latest commits.

* Integrated SIKE June 2021 commits, part 2

* Reverted back asm macro guards
2021-06-29 15:08:45 -04:00
Michael Baentsch
a822f0e62d
PQClean / NTRU Prime update (#1039)
* updating upstream algorithms

* update Kyber upstream ref

* adding compat.h

* add SPDX

* move to PQClean shims

* alpine-breaking gcc feature check changed

* remove error case as per PR review comment
2021-06-29 15:05:34 -04:00
dkostic
17d3e0bab5
Import BIKE Round-3 Additional code (#1013)
* 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>
2021-06-17 11:17:22 -04:00
Douglas Stebila
70eae32dd5
Quick fix to Kyber768-90s NIST level (#1014) 2021-06-05 07:08:07 +02:00
Christian Paquin
63ffa9854a
Integrated sike compressed elligator fix. (#1008)
* Integrated sike compressed elligator fix.

* Updated SIKE's github commit ref
2021-06-01 14:30:13 -04:00
John Schanck
9e2044ff2d
Pull latest HQC-192 from PQClean (#992) 2021-05-06 10:18:02 -04:00
Christian Paquin
b1d07278d1
SIKE March 2021 bug fix (#981)
* SIKE March 2021 bug fix

* Reverted typo.
2021-04-29 14:35:57 -04:00
Douglas Stebila
b1e2b44888
Sync with PQClean (#954)
* Sync with PQClean commmit e463123b92a5b315531c883d0d6b7381731e9b1c

* Sync with PQClean commit ef4ad5da02283ec0dd58b57a0684c98a1e33a531

* Reduce concurrency in CircleCI AddressSanitizer builds
2021-04-05 15:40:07 -04:00
John Schanck
b36ff9f17c
Replace OQS_PORTABLE_BUILD and OQS_USE_CPU_EXTENSIONS (#951)
* 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
2021-03-31 16:30:54 -04:00
John Schanck
3f2da47b36
Pull latest SPHINCS from PQClean; bump liboqs version to 0.6.0-dev (#950) 2021-03-27 14:11:00 -04:00
John M. Schanck
352b5d3db9 Bump PQClean commit number in copy_from_upstream.yml 2021-03-19 09:03:22 -04:00
John M. Schanck
ac2b828193 Pull latest verison of McEliece from PQClean 2021-03-19 09:03:22 -04:00
Basil Hess
9cf6171007
Dilithium 3.1 update, partially autogenerating docs (#923)
* Updates to Dilithium 3.1 (randomized)

* Update dilithium.md, point to pqcrystals-repo

* Partially autogenerating algorithm docs
2021-02-24 06:39:08 +01:00
Michael Baentsch
6040f559ec
Update Falcon & McEliece (adding AVX) (#920)
* fixing copy_from_upstream issues (>2 optimized implementations)

* adding mceliece-avx & falcon

* alg doc added
2021-02-23 16:45:56 +01:00
Christian Paquin
7ef3f41e09
Updated SIKE to v3.4 (#914)
* Upgraded to sike v3.4

* Commented out check to avoid "always false" warning/error.

* Fixes for OQS inclusion.
2021-02-18 11:23:02 -05:00
Basil Hess
405654c6ec
Kyber768 ref dependencies (#899) (#905) 2021-02-10 14:07:57 +01:00
Basil Hess
bd4d09da75
Sync upstream with copy_from_upstram / pqcrystals pull (#891)
* Point Kyber and Dilithium to pqcrystals-repo.

* Pulls Kyber and Dilithium from PQCrystals using copy_from_upstream

* Dilithium Round 3
* Kyber round 3
* Updates Dilithium Round 3 KAT

* Updates kyber.md and dilithium.md (manual changes after running copy_from_upstream)
2021-02-04 15:46:45 +01:00
Christian Paquin
9fb0bdd6f3
Picnic Dec 2020 update. (#872)
* Updated picnic from commit 1797ab (v3.0.3) to fcddc7.

* Added commit ca45b2, disabling OQS's non-optimized sha3 impl.

* Integrated commits up to v3.0.4 tag.
2021-01-13 13:03:43 -05:00
Douglas Stebila
85597bbc6c
Rainbow Round 3 (#867) 2021-01-04 09:25:35 -05:00
Christian Paquin
1fb8a3d382
Integrates frodokem Dec 2020 update (#869)
* Integrated frodokem Dec 2020 fix.

* Updated frodokem commit URL in doc
2020-12-11 17:06:12 -05:00
Douglas Stebila
689f789d51 Update FrodoKEM algorithm datasheet
[skip ci]
2020-12-09 20:17:48 -05:00
Christian Paquin
c91957ca7b
Integrated SIKE Dec 2020 update. (#863) 2020-12-08 17:46:26 -05:00
Douglas Stebila
3a361a17eb Documentation fix
Missed in #858

[skip ci]
2020-12-08 12:46:14 -05:00
Douglas Stebila
65b3fb6e71
Sync with PQClean (Kyber Round 3) (#858)
* Delete Kyber Round 2

* Sync with PQClean

Major changes; Kyber Round 3
Minor changes: HQC and NTRU

PQClean commit 168e3625988defacdf10812642e4d412fb295dc0
2020-12-03 09:56:03 -05:00
Douglas Stebila
1ad950ac00
Sync with PQClean (#851)
* Remove HQC round 2

* Sync with PQClean

3c8be3cb1f8ca0953f2df44ea665f118efb468d6

* Add HQC from PQClean
2020-11-24 10:04:49 -05:00
xvzcf
0c17d3dfe7 Switched default branch from master to main. 2020-11-06 10:56:31 -05:00
Douglas Stebila
46693cf93a
Add NTRU-Prime from PQClean (#848) 2020-11-03 13:36:24 -05:00
Douglas Stebila
2665eaa933
Documentation updates (#847)
[skip ci]
2020-10-29 19:47:00 -04:00
Douglas Stebila
1a923c79e0
Sync with PQClean (#846)
* Change BMI1 and add PCLMUL

* Copy from PQClean

Commit b4078aae55f9efbc7b3ab7b3c702be376f7a7987, excluding HQC

* Update algorithm datasheets

* Prettyprint

* Update version to 0.5.0-dev
2020-10-29 19:46:39 -04:00
Christian Paquin
7c0aa19e8c
Upgraded picnic to v3.0.3. (#838)
* Upgraded picnic to v3.0.2.

* Fix explicit_bzero function.

* Fixed redefinition of AddByte on little endian platforms (picnic's and oqs's namespacing)

* Update picnic to v3.0.3

* Fixing some picnic functions namespacing

* Added namespacing for picnic function on little endian system.

* More picnic namespacing fixes

* More picnic namespacing fixes, round 2

* Added more namespacing prefix

* More picnic namespacing

* Explicit namespacing for KeccakP1600times4_StaticInitialize function
2020-10-22 10:31:51 -04:00
Christian Paquin
8af52852c4
Sept 2020 SIKE updates (#836) 2020-10-02 15:43:50 -04:00
Christian Paquin
5c2f88981a
Fixed SIKE p751 in alg doc. (#832) 2020-09-29 13:07:25 -04:00
Douglas Stebila
4437b7da44
Sync with latest NTRU from PQClean (#827)
Fixes #826
2020-09-17 13:40:35 -04:00
Douglas Stebila
1d08c9d6ab
Sync with PQClean (#817)
* Sync with PQClean

* NTRU update

* SPHINCS updates

* Update commit in documentation
2020-09-10 18:16:18 -04:00
Douglas Stebila
fab14cd090
Doxygen updates (#822)
* Doxygen updates

* Disable parallel tests in some cases

* Fix case sensitivity
2020-09-08 20:56:21 -04:00