The Pre-calculated Attack
A Rainbow Table is a massive, pre-computed database that maps plaintext passwords to their corresponding cryptographic hashes. They were developed to speed up password cracking.
How they Work
Instead of recalculating the hash for every word in a dictionary during the attack, the attacker simply looks up the stolen hash in the rainbow table to find the original password.
The Countermeasure: Salting
Rainbow tables are effective only against unsalted hashes. If a system uses a unique salt for every password:
- The attacker would need a specific rainbow table pre-calculated for every possible salt value.
- This makes the storage requirements impractical, effectively rendering rainbow tables obsolete for modern, salted hash algorithms.