Rainbow tables
24 November 2023
In the context of password cracking, a typical explanation of a rainbow table is: a table with 2 columns, 1 for the plaintext and 1 for the hash. This is incorrect.
Rainbow tables are actually long chains of plaintexts and their hashes, a clever way to compromise between storage (pre-computation) and time (memory usage). Storing a massive table with every possible plaintext and its hash would be too big. Storing nothing and computing hashes on demand would be too slow.
The best explanations I've found of how rainbow tables actually work are: