Commit Graph

181 Commits

Author SHA1 Message Date
John Schanck
32c613e8ec Round 3 update for Dilithium (from github source) (#369)
* Update Dilithium

* Alternative montgomery reduce to avoid i386 functest errors

* Explicit casts for msvc

* More casts; bump upstream version; fix metadata

* another cast
2021-03-24 21:02:50 +00:00
Matthias J. Kannwischer
f1c917abb8 fix #364 2021-03-24 21:02:50 +00:00
Matthias J. Kannwischer
7aef8a6f80 Update Rainbow to round 3 parameter sets (#361)
* rainbow update

* update workflows

* re-add /O2 in nmake Makefile
2021-03-24 21:02:49 +00:00
John M. Schanck
f11041f45f falcon: use hyphen in library name 2021-03-24 21:02:49 +00:00
John M. Schanck
79623b0765 Add AVX2 Falcon 2021-03-24 21:02:49 +00:00
John M. Schanck
ba7ac6f316 dilithium: format nttconsts.c 2021-03-24 21:02:48 +00:00
John M. Schanck
3db4fa4876 dilithium: Remove leading underscore from some internal symbols 2021-03-24 21:02:48 +00:00
Thom Wiggers
351d17ae70 Implement testing via Github actions
* Fix a bunch of issues in SPHINCS+ on Windows
* Fix testing makefile dependencies by fixing times of common files
  (affected Windows testing mainly)
2021-03-24 21:02:48 +00:00
John M. Schanck
c19e9513e8 falcon: fix fpr_lt 2021-03-24 21:02:48 +00:00
John M. Schanck
ff16fec435 astyle 2021-03-24 21:02:48 +00:00
John M. Schanck
1ba4f503a7 falcon: conversion warning 2021-03-24 21:02:48 +00:00
John M. Schanck
c8cfccc488 falcon/test_boolean: conversion warning 2021-03-24 21:02:48 +00:00
John M. Schanck
bd1fcaabde rainbow/test_boolean: Use 1^x instead of 1-x to avoid conversion warning 2021-03-24 21:02:48 +00:00
John M. Schanck
82ae2d3e34 falcon: satisfy test_boolean 2021-03-24 21:02:48 +00:00
John M. Schanck
a8c4ac414b sphincs: satisfy test_boolean 2021-03-24 21:02:48 +00:00
John M. Schanck
35f90ed6b3 rainbow: satisfy test_boolean 2021-03-24 21:02:48 +00:00
Thom Wiggers
c4c16bf0ff Incorporate fix https://github.com/sphincs/sphincsplus/pull/15 2021-03-24 21:02:46 +00:00
Matthias J. Kannwischer
22babfef8a remove threebears, ledakem, newhope, mqdss, qtesla
NIST announced the Round 3 finalists and alternate candidates today:
https://groups.google.com/a/list.nist.gov/d/msg/pqc-forum/0ieuPB-b8eg/Cl7Ji8TpCwAJ

Some of the schemes in PQClean did not make it to Round 3 and this commit
removes them.
2021-03-24 21:02:46 +00:00
Thom Wiggers
8e27bd0915 Add MQDSS AVX2 implementations (#288)
* Add AVX2 version of mqdss

* Fix duplicate consistency
2021-03-24 21:02:46 +00:00
Thom Wiggers
4409c6f44f Add Keccakx4 to build 2021-03-24 21:02:46 +00:00
Thom Wiggers
e81295480a remove duplicate from Makefiles 2021-03-24 21:02:46 +00:00
Thom Wiggers
95ea8b314b Remove duplicate sha256x8 2021-03-24 21:02:46 +00:00
Thom Wiggers
d4d6d09ff7 Fix makefiles 2021-03-24 21:02:46 +00:00
Thom Wiggers
3d95a501a8 Fix haraka Makefile.Microsoft_nmake 2021-03-24 21:02:46 +00:00
Thom Wiggers
eb59820e21 Add missing obj file to Windows SPHINCS+ AVX2 builds 2021-03-24 21:02:46 +00:00
xvzcf
77e01fc95c Update required_flags for Dilithium's META.ymls. 2021-03-24 21:02:46 +00:00
Thom Wiggers
e22b54b8ba Update MQDSS round numbers
Based on this change:

00608d7610
2021-03-24 21:02:46 +00:00
Douglas Stebila
cf5107b69f Split aes*_keyexp up into ecb and ctr variants 2021-03-24 21:02:46 +00:00
Michael Baentsch
9248977595 Wshadow at Dilithium/avx2 2021-03-24 21:02:46 +00:00
Douglas Stebila
5a4b5f7358 Trigger build 2021-03-24 21:02:46 +00:00
Douglas Stebila
ca0e28bc43 Change formatting
[skip ci]
2021-03-24 21:02:46 +00:00
Douglas Stebila
f4f51db4eb Avoid type-punning error when strict-aliasing turned on 2021-03-24 21:02:46 +00:00
Thom Wiggers
d257525360 Fix UB in qTESLA
Lots of shifts left of signed integers
2021-03-24 21:02:46 +00:00
Thom Wiggers
160030400d Fix FIPS202 API memory leaks in Dilithium 2021-03-24 21:02:46 +00:00
Thom Wiggers
b6b4c7d8ed Fix SHAKE256 memory leak in Dilithium (#271) 2021-03-24 21:02:46 +00:00
Thom Wiggers
07db9c1e60 Put all common primitives on the heap (#266)
* Put AES ctx on the heap

This forces people to use the ``ctx_release`` functions, because otherwise there will be leaks

* Put fips202 on the heap

* Add much more docs for fips202.h

* fixup! Put fips202 on the heap

* Put SHA2 on the heap-supporting API

* Fix clang-tidy warnings

* Fix unreachable free() in falcon

* Fix McEliece8192128f-sse GNU Makefile
2021-03-24 21:02:45 +00:00
Thom Wiggers
facb527c7c SPHINCS+ optimized implementations (#253)
* Add state destroy to SHA2 API

* Include optimized SPHINCS+ implementations

I've generated new implementations from the sphincsplus repository.

* Don't destroy sha256ctx after finalize

* Attempt to shut up MSVC

* Make sure to drop errors in rmtree
2021-03-24 21:02:45 +00:00
Thom Wiggers
7dc03bfc44 Specify arrays with sizes again 2021-03-24 21:02:45 +00:00
Thom Wiggers
2b9759912d Matthias' feedback 2021-03-24 21:02:45 +00:00
Thom Wiggers
08f96e8c71 fixup! Add MacOS support for Dilithium 2021-03-24 21:02:45 +00:00
Thom Wiggers
44b0522070 Add MacOS support for Dilithium 2021-03-24 21:02:45 +00:00
Thom Wiggers
ebb416a2ba Use more robust macro syntax 2021-03-24 21:02:45 +00:00
Thom Wiggers
a037d6ccf6 Don't use const integer arguments 2021-03-24 21:02:45 +00:00
Thom Wiggers
862d0d3094 Use PQClean int guidelines 2021-03-24 21:02:45 +00:00
Thom Wiggers
6cd265f5b9 fixup! Add Dilithium's AVX2 implementations 2021-03-24 21:02:45 +00:00
Thom Wiggers
6682216791 Add Dilithium's AVX2 implementations 2021-03-24 21:02:45 +00:00
Matthias J. Kannwischer
963e87af64 rainbow: memcpy -> memmove since buffers may overlap 2021-03-24 21:02:45 +00:00
Matthias J. Kannwischer
d1f2d16f46 remove ternary operator in rainbow to compute max
clang-tidy9.0.0 added a new check: bugprone-branch-clone
(https://releases.llvm.org/9.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html)
This doesn't like both branches of an if are the same.
This lead to a warning in rainbow, as where the maximum of two values (which
are always the same) is computed in a macro.
I don't always agree with this warning, but here I think it's worth to
remove the macro.
2021-03-24 21:02:44 +00:00
Sebastian
56a0fcb135 qTESLA (#239)
* Copied qTESLA-p-I round2 (2019-08-19) code

* Code compiles, NIST-KAT works

* Included detached signature API

* Generated testvectors

* Fixed name in api.h

* code style

* Fixed error in Makefile

* Passing pytest

* Fixing types (uint8_t bytes and size_t indices)

* Replaced SHAKE with SHAKE128 where necessary

* Fixed bug: (signed) integer overflow

* Added qTESLA-p-III

* Code is now independent of machine endianness

* repaired Microsoft makefile
2019-10-21 14:26:27 +02:00
Thom Wiggers
f792b925b4 Enable optimizers on Windows (#244) 2019-10-21 14:23:59 +02:00