aa4611a4d1
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. |
||
---|---|---|
.. | ||
address.c | ||
address.h | ||
api.h | ||
fors.c | ||
fors.h | ||
haraka.c | ||
haraka.h | ||
hash_haraka.c | ||
hash.h | ||
LICENSE | ||
Makefile | ||
Makefile.Microsoft_nmake | ||
params.h | ||
primitive.h | ||
sign.c | ||
thash_haraka_robust.c | ||
thash.h | ||
utils.c | ||
utils.h | ||
wots.c | ||
wots.h |