Hash Function


Hash Function is a deterministic function that takes an arbitrary block of data, the Message and returns a fixed-size bit string, the Hash value, such that an accidental or intentional change to the data will almost certainly change the Hash.

Hash Function Message-Digest, or Fingerprint

In our contexts, the data to be encoded is called the Message, and the hash value is called the Hash.

A Cryptographic Hash Function is a Hash Function with some additional properties.

Hash Functions may be used for the mapping function used in accessing hash tables, a data structure used in many algorithms.
These Hash Functions may not be suitable Cryptographic Hash Function as they do not have Hash Function Security Properties.

Hash Functions do not require Cryptographic Keys for their basic operation. Hash functions generate a relatively small digest (hash value) from a (possibly) large input in a way that is fundamentally one-way (i.e., it is difficult to find an input that will produce a given output). Hash functions are used as building blocks for key management, for example:

Why Hash Function?#

Given a message m, you could sign the message itself. Public Key operations of most Digital Signature Algorithms are fairly CPU expensive in computational terms. If a Hash Function is applied to the message first and then use Digital Signature to sign the Hash instead.

More Information#

There might be more information for this subject on one of the following: