Monthly Archives: August 2015

Why People Think MD5 Algorithm is badly broken !!

Today I’m going to continue our discussion on Hash Functions..but before I start are you one of the people who think MD5 is insecure without any clue what so ever just hearing from the people !! Okay so I’m going to explain why ? and hopefully after reading this post you will be able to tell why md5 is insecure.

I highly advice you to take a look at the previous post titled : “Hash Functions in Cryptography and How They Operate” . If you already know what  hash functions are just keep reading this post 😀 .. MD5 is a hash function that take arbitrary length of input and produce a 128-bit output it was designed in 1991 by Ron Rivest [1] md5 was believed to be collision resistant for many years but unfortunately this is gone now .. MD5 is really week against collision attacks in fact you can now find collisions in under a minute on normal PC, and if you want some easy tools to crack MD5 can search on google and you will find many websites that will preform some searching on rainbow tables (this is some tables that has many strings and their correspond digest for it to get the digest easily ) .. but the attacks against MD5 are collision attacks, not pre-image attacks. This means an attacker can produce two files with the same hash, if he has control over both of them. But he can’t match the hash of an existing file he didn’t influence.

but recent cryptanalysis beginning with Wang and Yu [2] have shown that it is actually possible to find collisions for the full MD5 using much fewer than 2^64 MD5 computations, There is one last concern that I have to worn you about .. don’t use salted MD5 to store passwords ever ( I saw many people do that) and simply because MD5 is so fast if there is an adversary who can guess billions of candidate passwords per second he will absolutely get your salted password !! .

I Just want to write about MD5 cause there are many people still using it and I’m strongly advice them to stop doing that.

[1] : https://en.wikipedia.org/wiki/MD5
[2] : http://www.infosec.sdu.edu.cn/uploadfile/papers/How%20to%20Break%20MD5%20and%20Other%20Hash%20Functions.pdf