Rainbow Tables are not merely precomputed databases of hashes and their password equivalents.
I’ve seen this in many study resources from EC-Council to Study guides for IT Security certifications and it’s simply not accurate.

They seem to believe that  Rainbow Tables look like this
Hash – Password Equivalent

They think we simply search for the hash we have to find the password.
It could never work this way partly because of the size of the database even for a relatively short character set of 69, 7 byte LANMAN passwords.

With a 36 password character set like 26 alphabet letters (Lower case b/c LanMan forces them all to caps) and 10 numbers to get 36.
LanMan breaks passwords larger than 7 characters into two passwords. E.g., 14 character passwords = Two 7 byte passwords.

With LanMan passwords, a 69 Character Set like with LanMan using alt characters like }{|!@#d etc. would be 7.5 Trillion potential LanMan passwords.

With an 8 Byte hash + 7 Byte Password x 7.5 Trillion would be 112 Terabytes just for a 69 character set!
Obviously this isn’t feasible by today’s computing capabilities.

RT stores info about chains
Chains are relationships between passwords.
They’re built with hashing functions.
Rainbow Tables only work on unsalted passwords, otherwise we’d need a separate rainbow table for each potential salt since salt varies for each account on modern systems.

Two functions we need. Hashing Function and reduction functions.

Hashing takes a password and turns it into a hash equivalent value as how sha256sum makes ‘password’ into 6b3a55e0261b0304143f805a24924d0c1c44524821305f31d9277843b8a10f4e.
A reduction function, bit shifting, wrapping and truncation to spit out a new hash.
We then compare that to the known hash to find the password.

By Greg Miller

Ex-military cyber officer. Triathlete and mountain bike racer.