Joost Rijneveld
51790b9d57
Fix prf when n != 32
It wrongfully assumed that 2n + 32 = 3n
vor 7 Jahren
Joost Rijneveld
daa4e2d6db
Rename hash functions to tweaked hashes
Since there's a tweak being introduced, this should be reflected
in the name of the functions.
vor 7 Jahren
Joost Rijneveld
fe252b8093
Move ull-byte-conversions to separate utils file
vor 7 Jahren
Joost Rijneveld
b9b84b9f9e
Consistently return -1 on failure
vor 7 Jahren
Joost Rijneveld
2e96b03106
Clean up and simplify hash function definitions
vor 7 Jahren
Joost Rijneveld
384b228c58
Support messages that exceed the stack size
Previous code allocated an array on the stack of mlen bytes, but
it should be possible to also sign heap-space messages. By relying
on the fact that sm and m fit the message + signature, we move
the message so that 4*n bytes of prefix can be added.
vor 7 Jahren
Joost Rijneveld
270e6cd753
Reorder ull_to_bytes parameters to group output
vor 7 Jahren
Joost Rijneveld
305bd614bb
Perform various reformatting / renaming
vor 7 Jahren
Joost Rijneveld
138a380a26
Remove unnecessary endianness difference
The current code results in the same output regardless of endianness.
Verified using a QEMU VM to emulate MIPS.
vor 7 Jahren
Joost Rijneveld
f3bad4a272
Simplify licensing using LICENSE file
vor 7 Jahren
Joost Rijneveld
6a8571d880
Revert to using runtime-only parameter struct
Using global defines for parameters (as seems to be typical in
academic crypto code) does not play nice with multithreading at all.
vor 7 Jahren
Joost Rijneveld
9d5884e120
Refactor for more consistent style and readability
vor 7 Jahren
Joost Rijneveld
1e041f25d5
Simplify hash family parameter definition
vor 7 Jahren
Joost Rijneveld
3c0f6668ef
Add parameter for hash alg family, support SHAKE
vor 7 Jahren
Joost Rijneveld
8befb0d550
Add SHAKE128 and SHAKE256
This also performs numerous consistency fixes
vor 7 Jahren
Andreas
9f512fa8dc
v06
vor 8 Jahren
Andreas
ddddfd9739
handle that most machines are little endian but addresses here are big endian...
vor 8 Jahren
Andreas
2c290d39be
upgraded to draft-06
vor 8 Jahren
Andreas
c37b9dcfca
SWITCH from v01 to v03
Versions are incompatible due to different address formats and differing message compression!
vor 8 Jahren
Andreas
622a9513b1
local changes
vor 8 Jahren
Joost Rijneveld
1e503b665e
Make codestyle more consistent, fix -Wextra warns
vor 8 Jahren
Joost Rijneveld
17c5b2842f
Make address masks more explicit and strict
vor 8 Jahren
Andreas
077e57f60e
fixed bug in address for WOTS Key
vor 9 Jahren
Andreas
9d9b782ff9
added support for n = m = 64
vor 9 Jahren
Andreas
136f10dae0
Added support for n=m=64
vor 9 Jahren
Andreas
d80a463e53
added copyright notes for publishing. Removed unused file.
vor 9 Jahren
Andreas
1826fb26ff
Initial commit
vor 9 Jahren