Name Description Size
info.txt 104
keccak_helpers.cpp the length tag 1675
keccak_helpers.h Integer encoding defined in NIST SP.800-185 that can be unambiguously parsed from the beginning of the string. This function does not allocate any memory and requires the caller to provide a sufficiently large @p buffer. For a given @p x, this will need exactly keccak_int_encoding_size() bytes. For an arbitrary @p x it will generate keccak_max_int_encoding_size() bytes at most. @param buffer buffer to write the left-encoding of @p x to. It is assumed that the buffer will hold at least keccak_int_encoding_size() bytes. @param x the integer to be left-encoded @return the byte span that represents the bytes written to @p buffer. 5114
keccak_perm.cpp 5460
keccak_perm.h KECCAK FIPS This file implements Keccak[c] which is specified by NIST FIPS 202 [1], where "c" is the variable capacity of this hash primitive. Keccak[c] is not a general purpose hash function, but used as the basic primitive for algorithms such as SHA-3 and KMAC. This is not to be confused with the "informal" general purpose hash function which is referred to as "Keccak" and apparently refers to the final submission version of the Keccak submission in the SHA-3 contest, possibly what is released by NIST under the name "KECCAK - Final Algorithm Package" [2]. See also the file keccak.h for the details how the keccak hash function is defined in terms of the Keccak[c] – a detail which cannot be found in [1]. [1] FIPS PUB 202 – FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION – SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf#page=28 [2] https://csrc.nist.gov/projects/hash-functions/sha-3-project 3201
keccak_perm_bmi2
keccak_perm_round.h 2792