International Association for Cryptologic Research
Hash functions are one of the most important and useful tools in cryptography. An n-bit cryptographic hash function H is a function taking an arbitrarily long message as input and out-putting a fixed-length hash value of size n bits. Those primitives are used in many applications such as digital signatures or key generation. In practice, hash functions are also very useful for building Message Authentication Codes (MAC), especially in a HMAC construction. HMAC offers a good efficiency considering that hash functions are among the fastest bricks in cryptography, while its security can be proven if the underlying function is secure as well.