|
|
|
|
|
by sverige
2969 days ago
|
|
OK, so "rainbow table" is what we all call them, but frankly I've always found that name to be baffling. Why are they called that? What is the origin of the name? What do they have to do with rainbows? Yes, googling "magic list" will not produce the same results as "rainbow table," but it's a good substitute when teaching non-technical people the concept. It might even help them avoid googling unsuccessfully for the origin of the actual name. (If you know the origin, I'd love to know, and so would the people at Wikipedia.) |
|
A hash function is a one way mapping, and so is a reduction (attempting to invert the hash function but usually failing).
Think of it this way:
Draw a line from plaintext P on the left to hash output H on the right. Then a line from H back to P2 (plaintext 2 on the left), which is the output of the reduction function over H. Draw a line from P2 to H2 (output of the hash function over P2). Do this for a little bit of the chain, and you will visually have a rainbow.
You can also get banding, when drawing them linearly instead of left to right, when taking closed chains into consideration.
If someone sees such a graph of a rainbow table, that explains the concept directly. Caching in a table is just the implementation.