New, lighter hashing functions: Ascon-Hasha and Ascon-XOFa, as per Ascon's NIST submission update (2021). Pre-initialised hashes.
Added
-
Ascon-Hasha functions:
- Offline processing:
ascon_hasha()
ascon_hasha_matches()
- Online processing:
ascon_hasha_init()
ascon_hasha_update()
ascon_hasha_final()
ascon_hasha_final_matches()
- Offline processing:
-
Ascon-XOFa functions:
- Offline processing:
ascon_hasha_xof()
ascon_hasha_xof_matches()
- Online processing:
ascon_hasha_xof_init()
ascon_hasha_xof_update()
ascon_hasha_xof_final()
ascon_hasha_xof_final_matches()
- Offline processing:
Fixed
- Faster initialisation phase of all hashing functions states: using
precomputed sponges for each hashing function instead of applying its
initialisation vector and permuting it with 12 rounds. Given that this
operation is deterministic, we can trade code size space (the precomputed
sponges) for computation time (no permutation needed). - Add struct names to anonymous structs that were only typedef-ed in the
library header. Helps when debugging, so the debugger can show the struct
name. - Minor internal simplifications of the benchmark and test suite.