Keccak is a versatile cryptographic function. Best known as a hash function, it nevertheless can also be used for authentication, (authenticated) encryption and pseudo-random number generation.Its structure is the extremely simple sponge construction and internally it uses the innovative Keccak-f cryptographic permutation.