Commit Graph

54 Commits

Author SHA1 Message Date
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
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
Thom Wiggers
88e59b3d61
Merge pull request #232 from PQClean/fix_incremental_sha512
Fix incremental sha512
2019-09-12 10:27:20 +02:00
Thom Wiggers
3779d4fcbf Fix clang-tidy complaint about result of subtraction being compared with possibly small size_t (#231) 2019-09-10 12:36:52 +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
Matthias J. Kannwischer
6ee774a593 fix incremental sha512 2019-09-10 11:27:37 +02:00
Douglas Stebila
83c974e45b
Merge pull request #207 from PQClean/sphincs-abstract-state-dupe
Add abstract state duplication for SHA256 incremental hashing API
2019-07-30 21:48:30 -04:00
Douglas Stebila
b70216eb8d Implement state clone for rest of SHA-2 incremental API 2019-07-30 13:25:23 -04:00
Douglas Stebila
4d7e5886c9 Rename dupe to clone 2019-07-30 13:23:22 -04:00
Thom Wiggers
133a38b890 Move test support files into tests directory (#200)
* Move test support files into tests directory

* Fix common tests dir in test

* Fix Windows Makefile for common tests

* notrandombytes.obj should be in TEST_COMMON_DIR
2019-07-26 10:26:14 +02:00
Douglas Stebila
6461896475 Add abstract state duplication for SHA256 incremental hashing API 2019-07-17 22:42:51 -04:00
Douglas Stebila
e53cf16fa8 Change sha3_512_inc_finalize output length to 64 2019-07-04 21:13:57 -04:00
Douglas Stebila
d7f745a0e6 Alternative no-op 2019-06-25 09:38:24 -04:00
Douglas Stebila
4157e0fbad Add release function for AES key schedule 2019-06-25 09:37:23 -04:00
Leon
32b3a97809 add sha3_384 2019-06-10 20:40:49 +02:00
Ko-
cf88fb781e Satisfy linter 2019-06-07 13:46:31 +02:00
Ko-
db7d3deb03 Add cSHAKE{128,256} to common. 2019-06-07 11:43:52 +02:00
Thom Wiggers
b153768783
Implement ctx struct for fips202 2019-05-20 10:22:51 +02:00
Thom Wiggers
7c30aa73c9
SHA2 state constants in common 2019-05-20 09:20:12 +02:00
Douglas Stebila
8e7cf2b5cd Fix linter complaints 2019-04-14 17:29:58 -04:00
Douglas Stebila
a815543f32 Add NIST KAT check for KEMs 2019-04-14 17:17:11 -04:00
Matthias J. Kannwischer
5587cdb4a8 Add -Wmissing-prototypes (#109)
* fix prototypes for sphincs and static functions in aes.c

* fix missing prototypes in all frodo variants

* fix missing prototypes in kyber

* remove const from non-pointer arguments in Frodo

* add missing prototypes to requirements in README
2019-04-13 11:47:29 -04:00
Douglas Stebila
aea72d3eb2 Add macros for AES block size 2019-04-10 11:50:23 -04:00
Peter Schwabe
4970379baf Added simple test for AES 2019-04-10 13:24:42 +02:00
Peter Schwabe
45a12595df Added const keyword to a few pointer arguments in AES 2019-04-09 15:41:44 +02:00
Peter Schwabe
40661601bd Eliminated unnecessary casts 2019-04-09 15:06:23 +02:00
Peter Schwabe
ed8a4ea2f4 Fixed wrong header name in aes.c 2019-04-09 14:57:52 +02:00
Peter Schwabe
93c24e34c6 Formatted AES code properly 2019-04-09 14:48:46 +02:00
Peter Schwabe
070db10cc1 Added (constant-time) AES implementation, based on BearSSL 2019-04-09 14:35:44 +02:00
Joost Rijneveld
d325e39c68
Add documentation for SHA2 blockwise functions 2019-03-13 17:23:30 +01:00
Joost Rijneveld
f0ffc59696
Add SHA224 for completeness 2019-03-11 16:50:00 +01:00
Joost Rijneveld
83810dcc47
Expose incremental SHA2 API 2019-03-11 16:50:00 +01:00
Joost Rijneveld
6d84aec3db
Add SHA256 2019-03-11 16:50:00 +01:00
Thom Wiggers
91c2fb59cf
Merge pull request #74 from PQClean/incremental-fips202
Add incremental API for SHAKE and SHA3
2019-03-11 15:19:36 +01:00
Joost Rijneveld
760b5926c4
Add incremental SHA3 2019-03-07 17:01:23 +01:00
Joost Rijneveld
23178c4c32
Add incremental API for shake128 and shake256 2019-03-07 17:01:16 +01:00
Thom Wiggers
a230c51cf5
Disable clang-tidy lint on windows.h include 2019-03-06 17:15:23 +01:00
Thom Wiggers
b7bc9b6cb0
Cast a value in notrandombytes.c 2019-02-27 17:18:07 +01:00
Thom Wiggers
ea19211d21
Cast size_t to DWORD on Windows 2019-02-27 17:06:27 +01:00
Thom Wiggers
06955dfc21
Explicit casts in conversions 2019-02-27 16:19:00 +01:00
Douglas Stebila
5f3e8ca2d5 Build functional tests and test vectors on Windows continuous integration 2019-02-25 21:40:43 -05:00
312616113a common: use fixed size integers 2019-02-17 13:16:21 +00:00
Thom Wiggers
3b73ea134d
Formatted everything with astyle
clang-format was not flexible enough to allow lining out things on
columns with spaces.
2019-02-14 14:08:16 +01:00
Thom Wiggers
fe46514836
Include full clangformat config.
Hopefully stabilizes behaviour between versions.
2019-02-11 10:05:54 +01:00
Thom Wiggers
59f92730cf
Include an actually random version of randombytes 2019-02-06 17:20:31 +01:00
Thom Wiggers
4d0082fa43
Add travis config
Also fixes some tidy issues

Not sure why my local clang-tidy doesn't complain
2019-01-16 14:54:24 +01:00
Joost Rijneveld
7028025eb9
Normalize whitespace 2019-01-16 11:02:32 +01:00
Thom Wiggers
b22a21c08a
Add clang-tidy, only require SCHEME where needed 2019-01-16 10:45:27 +01:00
Joost Rijneveld
2a5a628e48
Add Dilithium-III 2019-01-16 10:21:05 +01:00
Joost Rijneveld
6f48921cd5
Manually format MUSH macros in randombytes
The previous formatting did not immediately stabilize,
and the resulting formatting is somewhat arbitrary.
Manually inserting linebreaks seems to make more sense.
2019-01-15 16:58:24 +01:00