Commit Graph

874 Commits

Author SHA1 Message Date
Thom Wiggers
07f96fa057
Merge pull request #274 from PQClean/fix_detecting_changes
Fix detecting of to-be-tested changes on Windows
2020-02-19 15:05:35 -05:00
Thom Wiggers
acf7760f4d
Fix detecting of to-be-tested changes on Windows 2020-02-19 11:53:14 -05:00
Thom Wiggers
f13961dbfc
Merge pull request #272 from PQClean/kyber-fix-leak
Fix memory leak in Kyber
2020-02-17 11:02:07 +01:00
Douglas Stebila
b4de294f68 Fix memory leak in Kyber 2020-02-16 14:55:19 -05:00
Thom Wiggers
bbad7871d2
Fix SHAKE256 memory leak in Dilithium (#271) 2020-02-16 10:18:05 -05:00
mergify[bot]
6de728361e
Merge pull request #265 from PQClean/functest_keys_on_heap
Move keys in crypto_sign/functest.c to the heap
2020-02-12 11:53:29 +00:00
mergify[bot]
b2bdf88091
Merge branch 'master' into functest_keys_on_heap 2020-02-12 01:36:23 +00:00
Thom Wiggers
1a4739e2bf
Move keys to heap for KEMs as well 2020-02-11 12:23:06 +01:00
Thom Wiggers
65a6a63e08
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
2020-02-11 11:15:14 +01:00
Thom Wiggers
8a6f612605
Merge pull request #268 from PQClean/fix-mceliece8192128f-sse-makefile
Fix McEliece8192128f makefile
2020-02-11 09:18:25 +01:00
Thom Wiggers
7862f7faae
Fix McEliece8192128f makefile 2020-02-11 09:17:55 +01:00
Thom Wiggers
53d50fd751
Fix alignment problems with vectors in McEliece AVX2 and fix McEliece 8192128f (#267)
* Fix alignment problems with vectors

* Fix required CPU flags for McEliece

* Fix McElice8192128f that was missed in #259

* fixup! Fix McElice8192128f that was missed in #259

* Fix initialization
2020-02-07 11:13:59 +01: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
Thom Wiggers
8ffb087545
Move keys in crypto_sign/functest.c to the heap
Having the keys on the stack increases the stack space consumption by
quite a bit, and this in turn results in the sanitizer tests failing
for Rainbow.

Moving the keys to the heap in the test seems like a harmless change.
2020-02-05 12:38:08 +01:00
mergify[bot]
7729c76b3e
Merge pull request #263 from PQClean/fix-clang-builds-to-use-clang
Fix clang builds to actually use clang
2020-01-23 03:11:50 +00:00
mergify[bot]
e45513adf9
Merge branch 'master' into fix-clang-builds-to-use-clang 2020-01-22 15:38:18 +00:00
Thom Wiggers
dcad0bd878 Also run duplicate consistency checks on windows (#261) 2020-01-22 10:05:20 -05:00
Thom Wiggers
e380ddcf22
Fix clang builds to actually use clang 2020-01-22 10:36:36 +01:00
Thom Wiggers
8eca85fcd2
Merge pull request #262 from PQClean/threebears
Add ephemeral versions of ThreeBears (Duplicate of #260)
2020-01-17 11:06:09 +01:00
Leon Botros
f9d192036e
Add ephemeral versions of ThreeBears 2020-01-15 10:43:50 +01:00
mergify[bot]
96fb401fb3
Merge pull request #256 from PQClean/redo-dilithium
Redo Dilithium/clean and add Dilithium's AVX2 implementations
2019-12-13 14:50:50 +00: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
6d13a3dffc
Specify arrays with sizes again 2019-12-12 14:11:12 +01:00
Thom Wiggers
3943dde3f1
Matthias' feedback 2019-12-12 13:51:46 +01:00
Thom Wiggers
cc07873937 Update PR template along practice (#254)
* remove automatically checked property

* Allow PR-submitters to self-document.

We don't ever use these, so allow submitters of PRs to self-document.
2019-12-12 13:38:34 +01:00
Thom Wiggers
770a421c16 Fix isolation in test_metadata_sizes (#258) 2019-12-12 11:36:34 +01:00
Thom Wiggers
5f0ddcad78 Add ccache to speed up builds (#257)
* Add ccache to speed up builds

* Fix circleci config

* fixup! Fix circleci config

* Try again with environment variables

* Set up ccache on MacOS
2019-12-12 11:35:19 +01:00
Thom Wiggers
281afa0323
MacOS ABI versions of Keccak 2019-12-11 16:04:59 +01:00
Thom Wiggers
8a5e83c2ea
fixup! Add MacOS support for Dilithium 2019-12-11 15:47:38 +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
bff1ba5c74
Add MacOS support for Dilithium 2019-12-11 15:06:02 +01:00
Thom Wiggers
dbf2d34235
Use more robust macro syntax 2019-12-11 13:01:07 +01:00
Thom Wiggers
a1fb93da73
Don't use const integer arguments 2019-12-11 08:51:26 +01:00
Thom Wiggers
00b17e0740
Use PQClean int guidelines 2019-12-09 12:05:25 +01:00
Thom Wiggers
faf1a80f1e
fixup! Add Dilithium's AVX2 implementations 2019-12-09 09:59:28 +01:00
Thom Wiggers
2e065c9860
Support unaligned vectors in pycparser 2019-12-09 09:57:55 +01:00
Thom Wiggers
b4e4964315
Add Dilithium's AVX2 implementations 2019-12-06 16:16:41 +01:00
Thom Wiggers
377a6d8d2e
Merge pull request #252 from PQClean/fix-valgrind-circleci-failure
Fix Valgrind failures on CircleCI for Kyber-AVX2
2019-11-20 09:52:07 +01:00
Thom Wiggers
1e2aac2e22
Don't use -march=native for keccak
CircleCI has AVX512 support and the compiler will generate instructions that Valgrind doesn't handle.
2019-11-19 11:13:29 +01:00
mergify[bot]
130189f6fe
Merge pull request #250 from PQClean/rainbow_memcpy
Rainbow: memcpy -> memmove since buffers may overlap
2019-11-13 19:27:51 +00:00
mergify[bot]
b4322c706b
Merge branch 'master' into rainbow_memcpy 2019-11-13 13:22:00 +00:00
Thom Wiggers
e762163478
Don't advertise MacOS support for Kyber-AVX2
In light of #251
2019-11-13 13:27:26 +01:00
Matthias J. Kannwischer
b830b6c1d5 rainbow: memcpy -> memmove since buffers may overlap 2019-11-13 10:47:26 +01:00
Thom Wiggers
bb8ed7af9b
Merge pull request #248 from leonbotros/threebears
Add {Baby,Mama,Papa}Bear reference implementations
2019-11-04 11:45:49 +01:00
Thom Wiggers
c8347a0866
Merge pull request #240 from PQClean/clang9.0.0
Fix Clang 9.0.0 warnings
2019-10-30 14:06:56 +01:00
Leon Botros
f1511f35b9 use the same compiler flags as other implementations 2019-10-25 19:09:12 +02:00
Leon Botros
5720e25c54 add -Werror 2019-10-25 13:35:23 +02:00
Leon Botros
6a7506f520 move modulus function to source, namespace it 2019-10-25 13:14:25 +02:00
Leon Botros
bc2fdb6921 remove empty lines at end of file 2019-10-24 19:35:55 +02:00