Commit Graph

805 Commits

Author SHA1 Message Date
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]
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
Matthias J. Kannwischer
e6ec07bcf9
Switch to gcc9.2 and xcode11.2 for MacOS builds (#246) 2019-10-23 07:59:59 +02:00
Thom Wiggers
54d6301eea
Merge pull request #243 from PQClean/fix-upload-test-results
Make sure the emulated jobs upload their test results properly
2019-10-21 14:30:34 +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
Thom Wiggers
f792b925b4 Enable optimizers on Windows (#244) 2019-10-21 14:23:59 +02:00
Thom Wiggers
02917216f1
Make sure the emulated jobs upload their test results properly 2019-10-17 09:37:14 +02:00
Sebastian
298dd2cf22 fix clang-tidy complaint about falcon (#242)
See https://circleci.com/gh/PQClean/PQClean/7991
2019-10-16 08:23:33 +02:00
mergify[bot]
abe2a5aa2c
Merge pull request #241 from PQClean/fix_kyber90s
Fix kyber-90s warning if size_t is not 32 bits
2019-10-15 18:16:00 +00:00
Matthias J. Kannwischer
df8cc49670 fix kyber-90s warning if size_t is not 32 bits 2019-10-15 15:20:57 +02:00
mergify[bot]
c39e85dddf
Merge pull request #238 from PQClean/kyber90s-aes
Update Kyber-90s to use aes256_ecb instead of local AES implementation
2019-10-04 12:48:58 +00:00
Matthias J. Kannwischer
39246b808d fix for big-endian 2019-10-04 13:10:29 +02:00