Common Hash algorithms and its Values



Hashing:

When data integrity needs to be verified, Hashing is the method used. It may be a file, iso images or any other data. Most used method for checking if the data is tempered or not from the time it is originally created.

Hash functions are designed to take a string of any length as input and produce a fixed-length hash value.
Hashing algorithms are designed such that this hash value changes even with the slighted modification in the string.
The output generated out of the source data is has many names. Hash Value, checksum, fingerprint been popular of those.


Hashing Usage:

1. Any popular software you download,  it will have MD5 or other hash value beside that.
you download the software and also note down the hash value.
 2. Hashing is used in Digital Signature.
3. Message authentication codes


Below is example from one of the software.
Sample HASH value for a tool

Common hash algorithms

Hashing Algorithm Popularly known as HASH output bit size
Secure Hash Algorithm SHA-1 160
Message Digest 5 MD5 128
Message Digest 4 MD4 128
Message Digest 2 MD2 128

Hashing Algorithm properties:

Following are the properties that a hashing algorithm must satisfy.

  1. Hash value must be fully determined from data that be hashed.
  2. Hash function must use all the parts of data. no leaving any data as optional
  3. Hash function "uniformly" distributes the data across the entire set of possible hash values.
  4. Hash function generates very different hash values for similar strings or string with slight change.

Minimal Properties for resist from attacks for Hash Algorithm:

pre-image resistance, Second pre-image resistance, Collision resistance.
we will discuss in next post.


Reference:
http://www.sparknotes.com/cs/searching/hashtables/section2.rhtml