Commit Graph

77 Commits

Author SHA1 Message Date
John M. Schanck
52750b86b1 Pull Dilithium changes from upstream 2021-02-09 10:43:16 -05:00
John Schanck
4f86c39515
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-02-01 13:32:40 +08:00
Thom Wiggers
957996ddd3
Merge pull request #349 from jschanck/update-kyber
Round 3 Kyber
2020-11-30 13:55:16 +01:00
Matthias J. Kannwischer
3d5079129d
Update Rainbow to round 3 parameter sets (#361)
* rainbow update

* update workflows

* re-add /O2 in nmake Makefile
2020-11-27 18:55:15 +01:00
John M. Schanck
bde916274f Use PQClean AES 2020-11-27 10:25:12 -05:00
John M. Schanck
688ff2fe50 Round 3 Kyber 2020-11-26 21:42:35 -05:00
John M. Schanck
10d3f34b39 Prepare for round 3 update with packaging script 2020-11-26 13:10:21 -05:00
Thom Wiggers
c99c406551 Update Kyber from upstream
Makes Kyber-AVX run on MacOS (#251)
2020-11-26 13:10:21 -05:00
Thom Wiggers
3c45712da6
Merge pull request #340 from jschanck/saber
Update Saber and add AVX2 implementation
2020-11-02 09:31:26 +01:00
Thom Wiggers
7371c4a9bd
Merge pull request #344 from jschanck/falcon
Add AVX2 Falcon
2020-11-02 09:25:52 +01:00
John M. Schanck
f8503cbd71 simplify pack_unpack.c 2020-10-28 23:31:01 -04:00
John M. Schanck
135f95e15b Clean up AVX2 code 2020-10-28 12:07:07 -04:00
John M. Schanck
0a3146831f Update Saber and add AVX2 implementation 2020-10-28 12:07:07 -04:00
John M. Schanck
a439b498fc HQC: remove bitmask macro 2020-10-25 22:43:14 -04:00
John M. Schanck
52e1b5c94b HQC: update from upstream 2020-10-25 22:18:26 -04:00
John M. Schanck
31190562b7 Add AVX2 Falcon 2020-10-21 16:37:33 -04:00
Thom Wiggers
365319041a
Merge pull request #324 from jschanck/hqc
New HQC and HQC-RMRS from upstream
2020-09-17 10:29:06 +02:00
John M. Schanck
0dee1d6aa6 readability changes 2020-09-15 11:54:11 -04:00
John M. Schanck
d4008c7f1e uint8_t api for encode/decode in optimized rmrs 2020-09-13 14:44:34 -04:00
John M. Schanck
4da9f0b087 more endianness fixes 2020-09-13 12:23:25 -04:00
John M. Schanck
d9e093c1ad satisfy MS compiler 2020-09-12 20:15:07 -04:00
John M. Schanck
0ff7886b08 narrowing warnings 2020-09-11 17:02:19 -04:00
John M. Schanck
4aab2dcb23 Rename log and exp to gf_log and gf_exp 2020-09-11 12:38:08 -04:00
John M. Schanck
04f7375c32 Some MS compiler fixes 2020-09-10 19:30:03 -04:00
John M. Schanck
cc7eae7ce7 typo and more endianness fixes 2020-09-10 17:15:55 -04:00
John M. Schanck
2a261a3f36 Fix endianness issues 2020-09-10 16:27:12 -04:00
John M. Schanck
23238dbed5 Initialize arrays in fft.c and fix a few compiler warnings 2020-09-10 10:26:30 -04:00
John M. Schanck
834f546349 Avoid ==, !=, etc in arithmetic expressions. Some compilers will produce non-constant time code. 2020-09-09 16:07:20 -04:00
John M. Schanck
9113313eab Replace avx2 'reduce' in gf2x 2020-09-07 17:39:21 -04:00
John M. Schanck
c2083e13d7 New HQC and HQC-RMRS from upstream 2020-09-07 16:10:13 -04:00
John M. Schanck
4f6e00ed69 NTRU Prime: jump directly to crypto_sort_smallindices 2020-09-02 13:37:23 -04:00
John M. Schanck
55c6d04df6 NTRU Prime: Simplified patch set 2020-09-02 12:48:28 -04:00
John M. Schanck
70543bba37 Add sntrup{653,761,857} and ntrulpr{653,761,857}
Exported from SUPERCOP-20200826 using the scripts at:
https://github.com/jschanck/pqclean-package-ntruprime
2020-08-28 20:22:56 -04:00
John M. Schanck
f1287684e3 NTRU: duplicate consistency 2020-08-24 09:47:34 -04:00
Matthias J. Kannwischer
9fbfb230a9 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.
2020-07-23 14:08:09 +08:00
Thom Wiggers
90630db2eb
Add MQDSS AVX2 implementations (#288)
* Add AVX2 version of mqdss

* Fix duplicate consistency
2020-06-26 14:01:23 +08:00
Sebastian
33232a0343
HQC submission (#202)
* Sebastian's HQC merge request

* Clean up changes to common infrastructure

* Fix Bitmask macro

It assumed that ``unsigned long`` was 64 bit

* Remove maxlen from nistseedexpander

It's a complicated thing to handle because the value is larger than size_t supports on 32-bit platforms

* Initialize buffers to help linter

* Add Nistseedexpander test

* Resolve UB in gf2x.c

Some of the shifts could be larger than WORD_SIZE_BITS, ie. larger than
the width of uint64_t. This apparently on Intel gets interpreted as the
shift mod 64, but on ARM something else happened.

* Fix Windows complaints

* rename log, exp which appear to be existing functions on MS

* Solve endianness problems

* remove all spaces before ';'

* Fix duplicate consistency

* Fix duplicate consistency

* Fix complaints by MSVC about narrowing int

* Add nistseedexpander.obj to COMMON_OBJECTS_NOPATH

* astyle format util.[ch]

* add util.h to makefile

* Sort includes in util.h

* Fix more Windows MSVC complaints

Co-authored-by: Sebastian Verschoor <sebastian@zeroknowledge.me>
Co-authored-by: Thom Wiggers <thom@thomwiggers.nl>
2020-04-01 13:57:21 +08:00
Thom Wiggers
b3f9d4f8d6
Classic McEliece (#259)
* Add McEliece reference implementations

* Add Vec implementations of McEliece

* Add sse implementations

* Add AVX2 implementations

* Get rid of stuff not supported by Mac ABI

* restrict to two cores

* Ditch .data files

* Remove .hidden from all .S files

* speed up duplicate consistency tests by batching

* make cpuinfo more robust

* Hope to stabilize macos cpuinfo without ccache

* Revert "Hope to stabilize macos cpuinfo without ccache"

This reverts commit 6129c3cabe1abbc8b956bc87e902a698e32bf322.

* Just hardcode what's available at travis

* Fixed-size types in api.h

* namespace all header files in mceliece

* Ditch operations.h

* Get rid of static inline functions

* fixup! Ditch operations.h
2020-02-05 13:09:56 +01:00
Leon Botros
f9d192036e
Add ephemeral versions of ThreeBears 2020-01-15 10:43:50 +01:00
mergify[bot]
7483647ddf
Merge branch 'master' into redo-dilithium 2019-12-13 09:35:58 +00:00
Thom Wiggers
a655ec8a9d 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
2019-12-12 14:29:29 +01:00
Thom Wiggers
7357da6995
Fix duplicate consistency files
Every .s file is now handled through CC
2019-12-11 15:23:40 +01:00
Thom Wiggers
faf1a80f1e
fixup! Add Dilithium's AVX2 implementations 2019-12-09 09:59:28 +01:00
Thom Wiggers
b4e4964315
Add Dilithium's AVX2 implementations 2019-12-06 16:16:41 +01:00
Leon Botros
bc2fdb6921 remove empty lines at end of file 2019-10-24 19:35:55 +02:00
Leon Botros
a7850eab51 add duplicate consistency checks 2019-10-24 19:35:55 +02: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
Matthias J. Kannwischer
1e04996465 re-add duplicate consistency checks 2019-09-24 14:43:23 +02:00
Thom Wiggers
7931383443
fixup! Add Kyber90s
Add duplicate consistency files
2019-09-24 08:01:54 +02:00
Thom Wiggers
f4bd312180 Adds AVX2 variants of Kyber512, Kyber768, Kyber1024 (#225)
* Integrate Kyber-AVX2 into PQClean

* Fix types and formatting in Kyber

* Workaround a valgrind crash

* Remove comment in shuffle.s

* Remove some extraneous truncations

* fixup! Fix types and formatting in Kyber
2019-09-10 11:45:01 +02:00