MD5 Rainbow Tables
From Computing and Software Wiki
Contents |
What is MD5?
MD5 is a way for computers/servers to store passwords after applying an algorithm to the original password so that they become encrypted. This method is applied so that if a host compromised, then the passwords will still be encrypted.
What are Rainbow Tables?
Rainbow tables are tables which contain a hashed key and the real password associated with the hashed key. This essentially makes a rainbow table a lookup table.
How it works
Since the MD5 algorithm is just one single function that transforms a password to an encrypted hashed key after passing an algorithm, one can make a complete table of all the different combination. The main key to using rainbow tables instead of cracking on the fly is that rainbow tables offer a time-memory tradeoff. Cracking on the fly may take a very long time with a much lower percentage of success. However, by having all the combination that are possible in a table, one can just compare the stolen hashed key to find a match in the table and they will have discovered the original password.
Time-Memory Tradeoff
Earlier time-memory tradeoff was introduced, so what is the time-memory tradeoff in using MD5 rainbow tables?