Moreover rainbow tables are based on the idea of hash chains where the
important concept is the index value. In a standard offine password cracking
attack, the attacker possesses a password hash, and is attempting to guess the
password that created it. That is why rainbow tables can be thought of as a very
efficient, compression algorithm for hash lookup tables. The index value ranges
from 0 to (key max-1). For example, if the attacker was trying to brute force
all seven character long words which contains only lower cases letters the key
max would be 267. There are three main functions in creating and application
of rainbow tables: IndexToPlain, PlainToHash, and HashToIndex