251 Commits

Author SHA1 Message Date
Christian Paquin
4d0325518e
Integrated latest SIKE bug fix. (#816) 2020-08-25 13:47:11 -04:00
Douglas Stebila
226b4637d9
Remove non-Round 3 algorithms (NewHope, ThreeBears, MQDSS, qTesla) (#810) 2020-08-17 13:25:08 -04:00
Douglas Stebila
adac989932
Added HQC from PQClean. (#805) 2020-08-04 13:22:45 -04:00
Douglas Stebila
aa7f1dfa3d
Cleanup PQClean implementations (#803)
* Sync with PQClean commit 90630db2ebada4bacceb5331b0a1a9a356ba65b9

* Delete duplicate implementations due to underscore bug; add MQDSS AVX2

* Delete more duplicate PQClean implementations
2020-08-04 11:54:25 -04:00
Christian Paquin
a371bc0497 Integrated SIKE commit 50f352. 2020-07-12 14:55:36 -04:00
Christian Paquin
0f9610e15f Integrated SIKE from upstream commit 521aab to 011e11 2020-07-09 17:03:36 -04:00
Christian Paquin
56b2bda572 Added details on new params in alg doc sheet, and cleaned-up namescape macro file. 2020-06-29 15:31:36 -04:00
Christian Paquin
f4d4d47c81 Integrated picnic v3.0. 2020-06-24 20:18:39 -04:00
Christian Paquin
f4312bd640 Updated SIKE to latest upstream commit 521aab, and fix P751 compressed typo 2020-06-22 17:21:07 -04:00
Douglas Stebila
bb988e0ad5
Update KEM and signature algorithm datasheets (#759) 2020-06-02 13:18:19 -04:00
Douglas Stebila
d198d6c071
Clean up FrodoKEM algorithm datasheet (#755)
* Clean up FrodoKEM algorithm datasheet

* Revisions based on @xvzcf's suggestions
2020-06-01 14:00:39 -04:00
Douglas Stebila
ffae460a71
Remove LEDAcrypt v2.1 temporarily (#756)
Due to attack in https://eprint.iacr.org/2020/455
2020-05-26 14:11:11 -04:00
Christian Paquin
df2f65251b
Update qtesla alg doc (#750)
* Updated frodo's doc's source link

* Updated qtesla alg documentation.
2020-05-11 20:56:52 -04:00
Christian Paquin
dfb74080c7
Updated frodo's doc's source link (#748) 2020-05-09 11:59:36 -04:00
Christian Paquin
216cb1a930
Updated picnic to v2.2. (#746)
* Updated picnic to v2.2.

* Re-enabled optimizations with clang-9/10

* Integrated commit 9917e3 from Picnic, fixing a bug with 128 bit word loading.

* Removed hardcoded aligment macro for picnic.

* Remove references to now-unused USE_OPTIMIZATIONS.
2020-05-07 15:47:34 -04:00
Christian Paquin
08300e5b3a
Updated qtesla to v1.0 (#665)
* Updated qtesla to v1.0

* Updated qTesla sizes and KATs after v1.0 changes.
2020-03-19 12:05:10 -04:00
Douglas Stebila
4c3016f43e
Add Rainbow from PQClean (#662)
* Add Rainbow from PQClean

* Adapt CircleCI config to handle larger number of local files
2020-03-15 20:25:42 -04:00
Douglas Stebila
eaec7972ba
Add Classic McEliece from PQClean (#661)
* Add Classic McEliece from PQClean

* Enlarge stack size on Windows

* Enlarge stack size with Mingw/Cygwin
2020-03-15 08:54:55 -04:00
Douglas Stebila
795c1b7932
Add Falcon from PQClean (#660)
* More cleanup after replaced dashes in filenames

* Add Falcon from PQClean and sync with latest PQClean commits

* Try to fix type punning warning in Falcon

* Missed templating

* Formatting change
2020-03-14 10:56:42 -04:00
Christian Paquin
920a2747b3
Updated picnic to v.2.1.2 (#650)
* Updated picnic to v.2.1.2

* Enabled avx2 sha3 code
2020-03-09 21:37:00 -04:00
Christian Paquin
4c4342c1e9 Updated SIKE implementation with latest changes. 2020-02-26 13:38:36 -05:00
Douglas Stebila
1095359c38
Update BIKE (FO) Round-2 to BIKE's v3.2 specification (#623)
* Updating BIKE code to meet BIKE v3.2 spec

* Fix alignment

* Update docs

* Missing inline

* Prettyprint

Co-authored-by: Nir Drucker <34063241+drucker-nir@users.noreply.github.com>
2020-02-24 11:18:47 -05:00
Douglas Stebila
a6f426044b
Sync with PQClean and update hashing API (#616)
* Sync with PQClean commit 6de728361e33ad3a5a6997e0896ff9fe8e44a999

* Revise SHA-2 API to match PQClean

* Revise SHA-3 API to match PQClean

* Fix compiler warning

* Fix typo

[skip ci]

* Fix typo

[skip ci]
2020-02-16 15:47:49 -05:00
xvzcf
889a03bd15
Switched build system to CMake. (#556)
* Removed cross-compilation scripts and associated Travis CI workflows.
2020-02-14 14:03:29 -05:00
Douglas Stebila
fb45816569
Add ThreeBears and LEDAcrypt from PQClean (#589)
* Add SHA256 incremental state destroy function

Following https://github.com/PQClean/PQClean/pull/247

* Add ThreeBears from PQClean

* Parallelize make test

* Add KEMs and documentation for ThreeBears

* cSHAKE shims

* Add LEDAcryptKEM from PQClean

* Undo rebase quirk

* Undo rebase quirk
2020-01-31 07:36:27 -05:00
Douglas Stebila
02b57bf420
Sync with PQClean as of January 22, 2020 (#584)
* Sync with PQClean as of January 22, 2020

* Add SHA256 incremental state destroy function

Following https://github.com/PQClean/PQClean/pull/247

* Fix typo

* Update PQClean commit in algorithm data sheets

[skip ci]

* Single underscore in header inclusion guards
2020-01-23 18:44:04 -05:00
Nir Drucker
afdff6e0f3 Updating BIKE's code (#576)
* Supporting BIKE KEM reference code

* Hiding print global symbol when VERBOSE!=2

* Supporting USE_OPENSSL + OPENSSL_DIR

* Rename functions by using a legend instead of the FN() macro

* prettyprint

* Fixing the bug caused by OpenSSL GF2m_mod_inv API change in 1.1* see https://github.com/open-quantum-safe/openssl/issues/42 for more details.

* Updating BIKE's constant-time implementaion

* Fixing Makefile

* Missing declaration

* Merge

* Merge

* Missing cast

* Update license headers

* Missing include

* Update BIKE algorithm data sheet

* More details on implementation version

Based on email from Shay Gueron

Co-authored-by: Douglas Stebila <dstebila@users.noreply.github.com>
2020-01-22 21:13:00 -05:00
Christian Paquin
bc448e43b2 Integrated recent changes in SIKE lib (from Nov 26th, 33a4bf commit), including a security patch. 2019-12-06 12:57:42 -05:00
Christian Paquin
4cb278e36a Adds avx2 implementation for qtesla (#553)
* Renamed qtesla portable folder, to better integrate avx2 files.

* Added avx2 support to qtesla

* Disabled KAT check for qtesla when avx2 is enabled.

* Commented the disabling of kat check for qtesla w/ avx2

* Fixed portable qtesla version and disabled avx2 on windows.

* Now reads use options from oqsconfig.h, accessible in CI tests.

* Skip config option check on windows.

* Moved cshake128x4 from qtesla dir to common sha3 dir.

* Added qtesla avx2 KATs, and use them when avx2 is enabled

* Prettyprint

* Fixed the qtesla avx2 condition check (needed a not xor)
2019-11-05 19:03:33 -05:00
Douglas Stebila
01014db7d5 Add Kyber90s variants 2019-10-23 22:07:13 -04:00
Douglas Stebila
c6e646f4c2 Sync with PQClean 2019-10-23 22:04:55 -04:00
Nir Drucker
4a2a3cd059 BIKE Round 2 (#554)
* Supporting BIKE KEM reference code

* Hiding print global symbol when VERBOSE!=2

* Supporting USE_OPENSSL + OPENSSL_DIR

* Rename functions by using a legend instead of the FN() macro

* prettyprint

* Fixing the bug caused by OpenSSL GF2m_mod_inv API change in 1.1* see https://github.com/open-quantum-safe/openssl/issues/42 for more details.

* 1) Adding BIKE-1 Level-1/3 with the FO tranformation
2) Removing BIKE-2/3
3) Removing BIKE-1 Level-5
4) Renaming BIKE-1 Level-1/3 to BIKE-1-CPA

* Fixing tests

* Fixing the CPA KATs

* Supporting AVX512

* Enable BIKE in CircleCI

* Fixing ARM script with the new BIKE names.

* Don't include OpenSSL headers when the flag --without-openssl is provided

* Fixing duplicate symbol

* Typo in symbol name

* Removing the dependency on config.h

* Addressing comments from the review

* Update KEM algorithms length [skip ci]
2019-10-17 15:21:44 -04:00
Christian Paquin
8202cc2aff Merged commit dcaabb from qtesla upstream. 2019-09-19 21:41:45 -04:00
Christian Paquin
92fda4ab70 Added qtesla round2, replacing heuristic param sets with the provably-secure ones. 2019-09-19 13:14:39 -04:00
Douglas Stebila
25c9f8cf74
Merge pull request #547 from christianpaquin/cp-sidh-v3.2
Upgraded SIKE to v3.2
2019-09-17 10:13:06 -04:00
Christian Paquin
36b13ec53e Integrated the SIKE v3.2 library, containing the compressed variants. 2019-09-11 16:26:40 -04:00
Christian Paquin
e3e504abd9 Upgraged to v2.1.1 of picnic. 2019-08-29 19:56:46 -04:00
xvzcf
83ec7c3145 Added SHA256 SPHINCS variants to README and removed references to nist-branch from algorithm datasheets. 2019-08-20 10:37:47 -04:00
xvzcf
cb3f1ddd03 Removed more traces of Rainbow. 2019-08-20 08:34:21 -04:00
Douglas Stebila
9dcbb7bdb0 Generate kat_sig combine_message_signature from template 2019-08-02 09:50:21 -04:00
Douglas Stebila
0bddafd8fd Add Rainbow algorithm datasheet 2019-07-31 21:15:41 -04:00
Douglas Stebila
6c9961b678 Update algorithm datasheet 2019-07-31 09:49:05 -04:00
Douglas Stebila
dd4152170d Sync with updated version from PQClean 2019-07-31 09:49:05 -04:00
Douglas Stebila
1e6ad568fd Update SPHINCS+ Haraka and SHAKE256 to more updated PQClean version 2019-07-31 09:49:05 -04:00
Douglas Stebila
1931e292b9 Update documentation 2019-07-31 09:49:05 -04:00
Douglas Stebila
8d17b22961 Add SPHINCS+ Haraka and SHAKE256 variants 2019-07-31 09:49:05 -04:00
Douglas Stebila
a1a50771e7 Missing hooks for SHA-2 implementation in build system 2019-07-30 13:01:08 -04:00
Vlad Gheorghiu
77524aea43
Merge pull request #524 from open-quantum-safe/ds-backout-ledakem
Remove LEDAcrypt temporarily
2019-07-16 21:15:12 -04:00
Douglas Stebila
7ef11b2351 Fix wording
[skip ci]
2019-07-16 16:34:48 -04:00
Douglas Stebila
11e09f4cbc Remove LEDAcrypt temporarily 2019-07-16 15:43:32 -04:00