1. An algorithm that computes a value based on a data object (such as a message or file; usually variable-length; possibly very large), thereby mapping the data object to a smaller data object (the "hash result") which is usually a fixed-size value.
(Source: RFC 2828)
2. A function which maps strings of bits to fixed-length strings of bits, satisfying two properties.
– it is computationally infeasible to find for a given output, an input which maps to this output;
– it is computationally infeasible to find for a given input, a second input which maps to the same output.
(Source: ISO/IEC 9796-3:2006) |