Hash function

From Wiki @ Karl Jones dot com
Jump to: navigation, search

A hash function is any function that can be used to map digital data of arbitrary size to digital data of fixed size.

Description

The values returned by a hash function are called hash values, hash codes, hash sums, or simply hashes.

One use is a data structure called a hash table, widely used in computer software for rapid data lookup.

Hash functions accelerate table or database lookup by detecting duplicated records in a large file.

  • An example is finding similar stretches in DNA sequences.

Hashes and cryptography

Hashes are useful in cryptography.

A cryptographic hash function allows one to easily verify that some input data maps to a given hash value, but if the input data is unknown, it is deliberately difficult to reconstruct it (or equivalent alternatives) by knowing the stored hash value.

This is used for assuring integrity of transmitted data, and is the building block for HMACs, which provide message authentication.

Related concepts

Hash functions are related to (and often confused with):

  • Checksums
  • Check digits
  • Fingerprints
  • Randomization functions
  • Error-correcting codes
  • Ciphers

Although these concepts overlap to some extent, each has its own uses and requirements and is designed and optimized differently

See also

External links