Hi Collin,

Great work!

> +     * lib/sha3.c: New file.
> +     * lib/sha3.h: Likewise.

Do these files borrow significant code from other lib/sha* files?
If so, it would be good to indicate this in the ChangeLog entry
("New file, based on ..."), just as a precaution measure against possible
future copyright claims.

> * tests/test-sha3-224-buffer.c: Likewise.
> * tests/test-sha3-256-buffer.c: Likewise.
> * tests/test-sha3-384-buffer.c: Likewise.
> * tests/test-sha3-512-buffer.c: Likewise.

Did you check the expected results against the results of some other
implementation than yours? In other words, where is the proof that the
new code does not have a silly typo somewhere, that leads to completely
different results than those described by FIPS-202?

(Yes, you said that you haven't added the OpenSSL alternative yet. But
maybe it is easy to run openssl interactively, to produce their results,
and compare?)

Re u64 support: I wouldn't have gone through the trouble of using the 'u64'
module. Lots of other code in Gnulib assumes an uint64_t type in <stdint.h>,
for more than 10 or 15 years. But this is not an objection.

Bruno




Reply via email to