3 ms·
They all have a fixed-length internal state and will have internal state collisions regardless of the output size. (Basically, they "consume" input into the sta
by dchest 5y ago
They all have a fixed-length internal state and will have internal state collisions regardless of the output size. (Basically, they "consume" input into the state and then "expand" the resulting state into the output.)
Suggested reading: Sponge Functions - https://keccak.team/files/SpongeFunctions.pdf https://keccak.team/files/SpongeFunctions.pdf
"Informally speaking, a random oracle* maps a variable-length input message to an infinite output string. It is completely random, i.e., the produced bits are uniformly and independently distributed. The only constraint is that identical input messages produce identical outputs. A hash function produces only a fixed number of output bits, say, n bits. So, a hash function should behave as a random oracle whose output is truncated to n bits."
* https://en.wikipedia.org/wiki/Random_oracle https://en.wikipedia.org/wiki/Random_oracle