Joost Rijneveld
94a92ed2b1
Make XMSS sign/open functions instances of XMSSMT
This removes a lot of code duplication.
7 years ago
Joost Rijneveld
7c6354f762
Rename parameters for readability and consistency
7 years ago
Joost Rijneveld
bbbb95e869
Fix erroneous index length for XMSSMT
This produced repeated indices when reaching 2^32 signatures.
This was introduced in 9b35b00d98
with the re-introduction of runtime parameters. Compile-time parameters
did not contain this error.
7 years ago
Joost Rijneveld
4111393912
Abstract address types into macro constants
7 years ago
Joost Rijneveld
ae49c04807
Clean up signing functions
As a result, performs various refactors that also impact the verification
function, since cleaner signing functions exposed more overlap.
7 years ago
Joost Rijneveld
d794ae30ee
Deduplicate XMSS/XMSSMT key generation
7 years ago
Joost Rijneveld
d9a9723125
Combine auth path and keygen root functions
This greatly reduces the memory comsumption of the auth path
computation, since it now also uses treehash. It prevents
duplicate code by re-using the treehash function.
A downside is that it does also pick out the authentication path
during key generation (while it is not used), but this cost is
negligible.
7 years ago
Joost Rijneveld
a9fe0e43fe
Clean up key generation
7 years ago
Joost Rijneveld
270e6cd753
Reorder ull_to_bytes parameters to group output
7 years ago
Joost Rijneveld
305bd614bb
Perform various reformatting / renaming
7 years ago
Joost Rijneveld
f3bad4a272
Simplify licensing using LICENSE file
7 years ago
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.
7 years ago
Joost Rijneveld
9d5884e120
Refactor for more consistent style and readability
7 years ago
Joost Rijneveld
65ee8202d8
Refactor to prepare for runtime parameters
7 years ago
Joost Rijneveld
3c0f6668ef
Add parameter for hash alg family, support SHAKE
7 years ago
Joost Rijneveld
8befb0d550
Add SHAKE128 and SHAKE256
This also performs numerous consistency fixes
7 years ago
Joost Rijneveld
5122ac6f73
Reduce code duplication
A large number of functions was repeated in xmss_fast; these are now
shared between the two implementations via the xmss_commons file.
Notably, we ensure compatability by sharing the verification functions.
7 years ago
Joost Rijneveld
1e00c92c18
Refactor to use compile-time parameter sets
This starts a cleanup / refactor, but there is still some low-hanging fruit.
7 years ago
Andreas
9f512fa8dc
v06
8 years ago
Andreas
ddddfd9739
handle that most machines are little endian but addresses here are big endian...
8 years ago
Andreas
2c290d39be
upgraded to draft-06
8 years ago
Andreas
c37b9dcfca
SWITCH from v01 to v03
Versions are incompatible due to different address formats and differing message compression!
8 years ago
Andreas
622a9513b1
local changes
8 years ago
Joost Rijneveld
1e503b665e
Make codestyle more consistent, fix -Wextra warns
8 years ago
Joost Rijneveld
17c5b2842f
Make address masks more explicit and strict
8 years ago
Andreas
9d9b782ff9
added support for n = m = 64
9 years ago
Joost Rijneveld
6ee57d1883
Make auth tree computation stop at the root
9 years ago
Andreas
136f10dae0
Added support for n=m=64
9 years ago
Joost Rijneveld
71da95c8b4
Change 'uint' to standard 'unsigned int'
9 years ago
Andreas
481cc106b6
finished xmssmt
9 years ago
Andreas
d80a463e53
added copyright notes for publishing. Removed unused file.
9 years ago
Andreas
1826fb26ff
Initial commit
9 years ago