Overview#
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 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.
There might be more information for this subject on one of the following: