Douglas Stebila
585a001fda
Split aes*_keyexp up into ecb and ctr variants
2020-03-26 20:18:02 -04: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
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