# Hash Function

A function that maps a bit string of arbitrary length to a fixed length bit string and is expected to have the following three properties:

- Collision resistance
- Preimage resistance
- Second preimage resistance

Approved cryptographic hash functions are specified in [FIPS 180-3].

See NIST SP 800-106 under Cryptographic hash function for more information

A function that maps a bit string of arbitrary length to a fixed-length bit string. Approved hash functions are expected to satisfy the following properties:

- One-way: It is computationally infeasible to find any input that maps to any pre-specified output, and
- Collision resistant: It is computationally infeasible to find any two distinct inputs that map to the same output.

See NIST SP 800-56A Rev. 2 under Hash function and NIST SP 800-56B Rev. 1 under Hash function for more information.

A (mathematical) function that maps values from a large (possibly very large) domain into a smaller range. The function satisfies the following properties:

- One-way: It is computationally infeasible to find any input that maps to any pre-specified output;
- Collision free: It is computationally infeasible to find any two distinct inputs that map to the same output.

See NIST SP 800-90A Rev. 1 under Hash Function for more information.

An algorithm that computes a numerical value (called the hash value) on a data file or electronic message that is used to represent that file or message, and depends on the entire contents of the file or message. A hash function can be considered to be a fingerprint of the file or message.

See NIST SP 800-152 under Hash function for more information.

A function on bit strings in which the length of the output is fixed. The output often serves as a condensed representation of the input.

See NIST SP 800-185 under Hash Function for more information.

A function that maps a bit string of arbitrary (although bounded) length to a fixed-length bit string. Approved hash functions satisfy the following properties:

- One-way: It is computationally infeasible to find any input that maps to any pre-specified output, and
- Collision resistant: It is computationally infeasible to find any two distinct inputs that map to the same output.

See NIST SP 800-57 Part 1 Rev. 4 under Hash function for more information.

A function that maps a bit string of arbitrary length to a fixed length bit string and is expected to have the following three properties:

- Collision resistance
- Preimage resistance
- Second preimage resistance

Approved hash functions are specified in [FIPS 180-4].

See NIST SP 800-107 Rev. 1 under Hash function for more information.