Rainbow tables are often used by password cracking software for network security attacks. All computer systems that require password-based authentication store databases of passwords associated with user accounts, typically encrypted rather than plaintext as a security measure.
Once an attacker gains access to a system’s password database, the password cracker compares the rainbow table’s precompiled list of potential hashes to hashed passwords in the database. The rainbow table associates plaintext possibilities with each of those hashes, which the attacker can then exploit to access the network as an authenticated user.
Rainbow tables make password cracking much faster than earlier methods, such as brute-force cracking and dictionary attacks. Depending on the particular software, rainbow tables can be used to crack 14-character alphanumeric passwords in about 160 seconds. However the approach uses a lot of RAM due to the large amount of data in such a table.
Rainbow tables have only become viable recently because the amount of available RAM in older computers was inadequate. A single rainbow table for a standard alphanumeric file is close to 4 gigabytes (GB). Adding symbols to the mix increases the amount of memory required, as does each step up in encryption.
To protect against attacks using rainbow tables, system administrators should add security measures to password encryption, such as the addition of randomly generated characters (salt) to password hashes and avoiding the use of outdated password hashing algorithms.