Commit Graph

879 Commits

Author SHA1 Message Date
Thomas Pornin
dba40c7d43 Removed 'restrict' keyword (it's C99, but MSVC 2017 does not support it...). This does not seem to impact performance. 2019-07-20 21:27:27 -04:00
Thomas Pornin
87bc13c761 Some cosmetic changes to appease clang-tidy. 2019-07-20 20:35:30 -04:00
Thomas Pornin
192e72144b Falcon implementations (integer-only code, constant-time). 2019-07-20 19:44:25 -04:00
Douglas Stebila
ef62745846
Merge pull request #209 from PQClean/frodo-const
Make a static global in Frodo const
2019-07-19 09:20:42 -04:00
Thom Wiggers
2108bdcdb5
Make a static global explicitly const 2019-07-18 13:42:37 +02:00
Thom Wiggers
b109f4db4e
Merge pull request #208 from PQClean/hash_state_comment
Document what exactly hash_state.h defines
2019-07-18 13:37:09 +02:00
Thom Wiggers
debc9f8fd8
Document what exactly hash_state.h defines 2019-07-18 09:16:50 +02:00
Douglas Stebila
6461896475 Add abstract state duplication for SHA256 incremental hashing API 2019-07-17 22:42:51 -04:00
Douglas Stebila
4f19ea25d0
Merge pull request #201 from PQClean/sphinx_no_global_state
Eliminate the global state
2019-07-17 19:25:30 -04:00
Thom Wiggers
12c8a642ce
Fix Makefile (primitive.h->hash_state.h) 2019-07-17 15:53:33 +02:00
Thom Wiggers
74efb10807
Incorporate feedback
* Names passed around (mostly constant) value more clearly
* Put ``const`` where applicable (almost everywhere)
* Renamed ``primitive.h``
* Fixed some nits
2019-07-17 08:37:38 +02:00
Douglas Stebila
33ce5e14ce Remove const
This was causing compilation failures with clang, that there were 
duplicate const keywords once the macro was expanded in hash.h
2019-07-16 20:22:45 -04:00
Matthias J. Kannwischer
fcbf6d98f2 add duplicate consistency checks 2019-07-16 15:56:02 -04:00
Matthias J. Kannwischer
5788e00a1c resolve remaining todos 2019-07-16 15:56:02 -04:00
Matthias J. Kannwischer
c90f95cf66 Turn 'principal-submitters' into a list in rainbow 2019-07-16 15:56:02 -04:00
Matthias J. Kannwischer
143c34d930 remove unused function 2019-07-16 15:56:02 -04:00
Matthias J. Kannwischer
127cc83162 add all the rainbows 2019-07-16 15:56:02 -04:00
Matthias J. Kannwischer
cb878e90a8 remove preprocessor conditionals 2019-07-16 15:56:02 -04:00
Matthias J. Kannwischer
fd4800fda2 proper license 2019-07-16 15:56:02 -04:00
Matthias J. Kannwischer
a94d7dc76e remove another unused function 2019-07-16 15:56:02 -04:00
Matthias J. Kannwischer
9d8d7d9bee remove some unused functions 2019-07-16 15:56:02 -04:00
Matthias J. Kannwischer
bf9af978d9 add rainbowIa-cyclic 2019-07-16 15:56:01 -04:00
Matthias J. Kannwischer
d42e96368a cyclic and compressedcycles parameter sets 2019-07-16 15:56:01 -04:00
Matthias J. Kannwischer
64413d2bab move code out of headers 2019-07-16 15:56:01 -04:00
Matthias J. Kannwischer
24014ae255 more Windows errors 2019-07-16 15:56:01 -04:00
Matthias J. Kannwischer
a7253a3530 make Windows and 32-bit systems (slightly more?) happy 2019-07-16 15:56:01 -04:00
Matthias J. Kannwischer
cf181decc7 refactor hash to use size_t 2019-07-16 15:56:01 -04:00
Matthias J. Kannwischer
b87bca514e remove preprocessor conditionals 2019-07-16 15:56:01 -04:00
Matthias J. Kannwischer
cb0e8367c6 initial rainbow version. still with preprocessor conditionals 2019-07-16 15:56:01 -04:00
Thom Wiggers
aa4611a4d1 Eliminate the global state
This PR sacrifices passing some extra arguments to get rid of the global
state.

* Haraka needs state in all hash calls, this results in changes to the
  hash functions specified in `hash.h`.  The extra pointers passed would
  not be necessary for SHA256 or SHAKE256.
* SHAKE256 did not have global state, but uniformity in the implementations
  requires us to pass  around the new state context anyway. Otherwise,
  @joostrijneveld's SPHINCS+ generator doesn't really work anymore).

We introduce a new header file called `primitive.h` which defines the
required state type for the generic functions. I did not go into
replacing _all_ occurrences of state variables by the new `hash_state`
macro.
2019-07-16 15:46:27 -04:00
Douglas Stebila
04a0dbfb72
Merge pull request #204 from PQClean/fix_travis_behaviour
Try to more reliably run the Travis PR path
2019-07-08 17:16:21 -04:00
Thom Wiggers
0d78cf8ea6
try to more reliably run the Travis PR path 2019-07-08 13:33:52 +02:00
Thom Wiggers
be941b28a8
Merge pull request #203 from PQClean/ds-sha3-512-finalize
Change sha3_512_inc_finalize output length to 64
2019-07-05 16:32:05 +02:00
Douglas Stebila
e53cf16fa8 Change sha3_512_inc_finalize output length to 64 2019-07-04 21:13:57 -04:00
Thom Wiggers
0ed5ba4a30
Merge pull request #192 from PQClean/saber
Add Saber
2019-07-04 15:53:57 +02:00
Matthias J. Kannwischer
756b550ceb add Saber LICENSE 2019-07-01 07:48:17 +02:00
Douglas Stebila
b8a243bf2d
Merge pull request #198 from PQClean/ds-aes-key-schedule
Add release function for AES key schedule
2019-06-27 14:43:32 -04:00
Douglas Stebila
f041450262 Trivial commit to trigger a rerun of all CI. 2019-06-26 09:58:05 -04:00
Douglas Stebila
f21a1b7e24 Document AES key schedule release
[skip ci]
2019-06-25 09:47:24 -04:00
Douglas Stebila
d7f745a0e6 Alternative no-op 2019-06-25 09:38:24 -04:00
Douglas Stebila
f62ba7ac85 Merge branch 'ds-aes-key-schedule' of github.com:PQClean/PQClean into ds-aes-key-schedule 2019-06-25 09:37:39 -04:00
Douglas Stebila
4157e0fbad Add release function for AES key schedule 2019-06-25 09:37:23 -04:00
Matthias J. Kannwischer
acde8afff2 Convert into a list for the Saber parameter sets 2019-06-24 09:18:58 +02:00
Matthias J. Kannwischer
515b04d87b fix warnings 2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
931f466937 switch to the polymul from the submission 2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
e543aea8ea add duplicate consistency checks for saber 2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
8378132c5e clean up of comments and packing 2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
61b36e933b remove wrong cast 2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
cc94db88fa fix vs warning 2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
6aafbd56f2 add firesaber 2019-06-24 09:14:24 +02:00