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 |