Friday 31 August 2007

Hash Algorithm - MD5

I like to share the hash algorithm called MD5, because when people are exposed to open-source software they will encounter this MD5 hash value. So what is it actually?

In cryptography, MD5 (Message-Digest algorithm 5) is a widely used cryptographic hash function with a 128-bit hash value. As an Internet standard (RFC 1321), MD5 has been employed in a wide variety of security applications, and is also commonly used to check the integrity of files. An MD5 hash is typically expressed as a 32-character hexadecimal number. (Ref: Wiki)

The above paragraph is the definition but what is so special about it? Ok, now I'm only interested in "integrity of files". You will notice that some open-source softwares come with MD5 hash value.

Here is a story when you don't make use of MD5 hash value.

1. You download a program from the internet, and that program includes a MD5 hash value.
2. But you just ignore the hash value... you try to install the program.. but fail at the middle of installation!!! (what a waste of time)
3. And you are still very stubborn, you want to make a second try!!! (again.. what a waste of time). Fail!!!
4. Now you just realise that the program you have downloaded is CORRUPTed. So you download a new one. Back to Square One.

Here is a story when you make use of MD5 hash value.

1. You download a program from the internet.. and you know the MD5 hash value.
2. After you download it, you check the program integrity using MD5 hash function and found out the output hash value is the same with the given one. Since it's equal.. obviously no problem (with confident), and no need to re-download the same program.
3. You install it... happy ending.

Enough of story!!! The moral of the story, you have to check the integrity of any files you download. This will tell whether the program is corrupted or not (maybe caused by fail transfer, virus, fake file, etc). This will also save you time.

There are many softwares out there that can check MD5 hash value, but I like to introduce Ash's MD5/SHA-1 Checker. (Princess Ashe~.. FFXII.. not relevant!!).

Proceed to the technical usage:-

1. Download the program here. (Current latest version is v0.9.7 and get md5-checker-0.9.7.exe for windows user).

The program md5 hash value is:-
aa4862b97b09f0bb8263bf7a82e885da

2. No installation required!!! Just run it as usual. Below is the program screenshot.



3. Try to check the program integrity itself. Click the "open file" dialog as shown in the above screenshot.



Once the file (e.g the program itself) is loaded, the hash value is generated automatically. As you can see in the screenshot above, the MD5 hash value is equal to the given one.

p/s: I don't know why this program uses the word checksum instead of hash value. Too many jargons!!

I will include md5 hash value for any program (if it has one) that I discuss in the future. Bah.

1 comment:

Unknown said...

Wonderful article with a complete description about this very popular cryptographic function. You have provided short but accurate information about this scheme. Thanks !!
electronic signature software