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