Menu

Keccak and SHA3

As it was afraid to see SHA-3 rejected by developers, the NIST did not change the Keccak algorithm, nor the main parameters.
For an empty data, the last version of Keccak submitted to the NIST produces, for a 512-bit output:
0EAB42DE4C3CEB9235FC91ACFFE746B29C29A8C366B7C60E4E67C466F36A4304C00FA9CAF9D87976BA469BCBE06713B435F091EF2769FB160CDAB33D3670680E
This value can be found in ShortMsgKAT_512.txt.
However, we can see on GitHub that Keccak, which now follows the FIPS 202, produces:
A69F73CCA23A9AC5C8B567DC185A756E97C982164FE25859E0D1DCC1475C80A615B2123AF1F5F94C11E3E9402C3AC558F500199D95B6D3E301758586281DCD26

The "rate" and "capacity" did not change, as well as the number of rounds.
After some searches, I finally found that the NIST asked to append a few bits to the message before it is processed. The reason is to differentiate the results between the SHA3 functions and the SHAKE functions.

I think that this reason is perfectly valid, as it is not intended to change neither the computations nor the security level of Keccak.
However, the produced hashes are different, so I cannot continue to claim that ProxyCrypt use "SHA3". It uses the last version of Keccak submitted to the NIST, so in order to preserve compatibility, it will be simply renamed to "Keccak-512".

Posted by v77 2016-07-08
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.