1
1
mirror of https://github.com/henrydcase/pqc.git synced 2024-11-27 09:51:30 +00:00
Commit Graph

55 Commits

Author SHA1 Message Date
Thom Wiggers
07db9c1e60 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
2021-03-24 21:02:45 +00:00
Thom Wiggers
facb527c7c 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
2021-03-24 21:02:45 +00:00
Thom Wiggers
296177e079 Don't use -march=native for keccak
CircleCI has AVX512 support and the compiler will generate instructions that Valgrind doesn't handle.
2021-03-24 21:02:45 +00: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