Summary
A
rainbow_table is precomputed data for reversing a
hash_function in
password_cracking. It stores chains of alternating
hash and
reduction_function outputs, enabling fast
lookup via a
time_memory_tradeoff. During precomputation, many candidate
plaintext values are processed; during attack, the target
hash is walked through chains to find a match. A
salt largely defeats this because each unique salt needs its own table. Coverage gaps and
collision effects mean success is not guaranteed.