A hash function is a function that maps a bit string of arbitrary length to a fixed length bit string. Approved hash functions are designed to satisfy the following properties:
- (One-way) It is computationally infeasible to find any input that maps to any new pre-specified output, and
- (Collision resistant) It is computationally infeasible to find any two distinct inputs that map to the same output.
- ↑ NIST Special Publication 800-63, at 6; NIST FIPS 201.