Rainbow Tables
A precomputed table for catching the output of cryptographic hash functions, usually for cracking password hashes
Precomputed Hash chains
Hash and reduce
- The hashing function of a given set of Rainbow Tables must match the hatched password you want to recover
- The reduction function of a given set of Rainbow Tables must transform a hash into something usable as a password
Rainbow Tables are constructed of "chains" of an n length
- You start the chain by picking a random seed value
- Then apply the hashing and reduction functions to this seed, and its output, and continue iterating this n times
- Each link in the chain is compared with the final value of each chain and if there's a match, the chain can be reconstructed, keeping both the output of each reduction function
- That reconstructed chain will contain the hash of the password in question as well as the password that produced it

