Cryptographic hash function

A cryptographic hash function, also sometimes called a digest function, is a cryptographic primitive transforming a message of arbitrary size into a message of fixed size, called a digest. Cryptographic hash functions are used for authentication, digital signatures, and message authentication codes.

To be used for cryptography, a hash function must have these qualities:

  • quick to compute (because they are generated frequently)
  • not invertible (each digest could come from a very large number of messages, and only brute-force can generate a message that leads to a given digest)
  • tamper-resistant (any change to a message leads to a different digest)
  • collision-resistant (it should be impossible to find two different messages that produce the same digest)

Cryptographic hash functions such as MD5 and SHA-1 are considered broken, as attacks have been found that significantly reduce their collision resistance.

See also