Skip to main content

A cryptographic hash algorithm is a function which takes a variable size input and produces a fixed size output. The algorithm makes it difficult to find two inputs with the same output or reconstruct the input from the output.

A cryptographic hash algorithm, also called a cryptographic hash function, is a function which takes a variable size input and produces a fixed size output.

As of 2012, the biggest news in cryptographic hash algorithms is the ongoing NIST hash function competition for .

People who design hash algorithms attempt to make it difficult to predict the output for a given input, find two inputs with the same output (a ), or reconstruct the input from the output.

Alas, some popular hash algorithms are not as good at this as their designer had hoped.

Many diverse sub-fields in cryptography use cryptographic hash algorithms:

A particular output value generated by such an algorithm is given various names in various contexts: the cryptographic hash, the hash value, the message digest, the digital fingerprint, etc.

  • and its predecessor use for message authentication, which in turn uses the (fast) cryptographic hash .
  • validation usually uses a deliberately-slow cryptographic hash for password hashing (sometimes misleadingly called "password encryption"), such as , , or .
  • Most high-quality hardware random number generators use a cryptographic hash to "whiten" the raw data sample measurements
  • etc.

Wikipedia: cryptographic hash function