Commit Graph

1065 Commits

Author SHA1 Message Date
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
Leon Botros
cbbc9cd18f fix namespacing for mamabear, papabear 2019-10-24 19:35:55 +02:00
Leon Botros
03b4153941 remove empty line, add version 2019-10-24 19:35:55 +02:00
Leon Botros
a7850eab51 add duplicate consistency checks 2019-10-24 19:35:55 +02:00
Leon Botros
c53d332090 add ThreeBears 2019-10-24 19:35:55 +02:00
mergify[bot]
edf3774628
Merge pull request #245 from PQClean/arm64_on_hw
Run ARM64 tests on REAL HARDWARE 🎉
2019-10-23 20:09:44 +00:00
Thom Wiggers
23f761efb5 Run ARM64 tests on REAL HARDWARE 🎉 2019-10-23 08:01:02 +02:00
Matthias J. Kannwischer
42c2525efb 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.
2019-10-23 08:00:26 +02:00
Matthias J. Kannwischer
762706f5fe remove unnecessary if in kyber768
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.
In this case I don't think there is any reason to do this, so I've removed it.
2019-10-23 08:00:26 +02:00
Matthias J. Kannwischer
138e06fec7 ignore new clang warning security.insecureAPI.DeprecatedOrUnsafeBufferHandling
clang9.0.0 (https://releases.llvm.org/9.0.0/tools/clang/docs/ReleaseNotes.html)
adds a new satic analyzer: security.insecureAPI.DeprecatedOrUnsafeBufferHandling
which throws warnings if you use "unsafe" buffer handling functions which
includes memset and memcpy.
We have memset and mempy all over the place, so I think it's best to ignore this warning.
All the occurences that I looked at seemed perfectly "safe" to me.
2019-10-23 08:00:26 +02:00