Commit Graph

661 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
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
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
Matthias J. Kannwischer
8539bd8684 add lightsaber 2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
15a9e77b4c remove pre-processor conditionals 2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
510a7baee8 move header guards to the top 2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
a971a3188b Revert "temporarily disable pre-processor test"
This reverts commit def5bddb62098afe134ed30dbeb82f0c195968cc.
2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
ccfe87a4a3 refactoring to make vs more happy 2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
03596d4705 another vs warning 2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
ef0ad8e752 fix some vs warnings 2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
31f9ee52ce add license 2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
7883f8ce8c Make auxiliary-submitters optional. Saber does not have any 2019-06-24 09:14:24 +02:00
Matthias J. Kannwischer
f18e464a68 add Saber 2019-06-24 09:14:00 +02:00
Matthias J. Kannwischer
ca1add7baf temporarily disable pre-processor test 2019-06-24 09:12:40 +02:00
Matthias J. Kannwischer
5bdb9569e3
Merge pull request #195 from PQClean/fix_194
Convert `principal-submitter` into a list
2019-06-24 09:11:26 +02:00
Matthias J. Kannwischer
042d365e5c convert principal-submitter into a list in CONTRIBUTING.md 2019-06-23 16:17:00 +02:00
Thom Wiggers
4cea81d15f
Convert principal-submitter into a list
There are schemes, like SABER (#192) that have more than one principal
submitter. Consistency warrants that we turn it into a list for all
schemes and don't do something with allowing either a str or a list:
that would just be very annoying to parse.

Closes #194
2019-06-21 09:30:55 +02:00
Thom Wiggers
8a7e6ef81d
Merge pull request #196 from PQClean/fix_travis
Update OSX image
2019-06-21 09:28:32 +02:00
Douglas Stebila
82383c204e Add release function for AES key schedule 2019-06-20 21:07:03 -04:00
Thom Wiggers
82563c9b64
Cache homebrew 2019-06-20 11:15:15 +02:00
Thom Wiggers
3ca9cfe5cd
Update OSX image 2019-06-20 10:35:43 +02:00