27 Commits

Author SHA1 Message Date
Douglas Stebila
40b01fdbb2
Update Falcon to 20230207 (PQClean commit 96dfee95cc56207d1ec5e3a2df306d6614ad7c6c) (#1386)
Fixes #1315
2023-02-10 10:58:42 -05:00
Goutam Tamvada
924ea88cb0
Updated PQClean commit in copy_from_upstream.yml (#1359) 2023-01-16 11:06:08 -05:00
Basil Hess
2e2ddb4e04
Update Kyber and Dilithium from upstream (#1316) 2022-11-23 15:15:27 -05:00
thb@sb
c5b8cfe478
Solve '-Wstrict-prototypes' for clang >= 15.0 (#1293)
* 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
2022-08-30 11:20:05 +02:00
Basil Hess
e88cc366b5
Sync Kyber with upstream, enable Scan-Build with Kyber (#1252) 2022-07-11 11:53:20 +02:00
Michael Baentsch
fbb34be899
adding scan-build test (#1240)
* adding scan-build test

* upgrade to clang-14

* excluding Kyber from scan-build test
2022-06-30 08:49:06 -04:00
Jason Goertzen
55bc8cb38d
ARMv8 optimized Dilithium (#1194)
* 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 '\_'
2022-03-09 15:17:42 -05:00
Jason Goertzen
71b570c59c
Adding arm64_v8 optimized versions of saber. (#1131)
* 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
2021-11-27 15:24:05 -05:00
Douglas Stebila
14d64d379d
Fix gcc 11 error for Kyber on arm64 (#1127)
* 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>
2021-11-19 16:40:04 -05:00
Michael Baentsch
2c98b97fa4
adding ntruhps40961229 ntruhrss1373
clean code only added (https://github.com/PQClean/PQClean/pull/427)
2021-11-19 06:43:43 +01:00
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
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
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
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
Douglas Stebila
70eae32dd5
Quick fix to Kyber768-90s NIST level (#1014) 2021-06-05 07:08:07 +02: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
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
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
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
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
bb988e0ad5
Update KEM and signature algorithm datasheets (#759) 2020-06-02 13:18:19 -04:00