Browse Definitions :
Definition

rainbow table

Contributor(s): Matthew Haughn

A rainbow table is a listing of all possible plaintext permutations of encrypted passwords specific to a given hash algorithm.

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.

This was last updated in January 2015

Continue Reading About rainbow table

Join the conversation

1 comment

Send me notifications when other members comment.

Please create a username to comment.

The basis of rainbow tables is a reduction function that generates chains (containing starting and ending index values only) that are stored in a table. It is NOT a pre-computation of all possible plaintext to hash values...hence why rainbow tables are considered a time-memory trade-off problem to cracking hashes. Please look at Philippe Oechslin's paper on this topic.
Cancel

-ADS BY GOOGLE

File Extensions and File Formats

SearchCompliance

  • compliance framework

    A compliance framework is a structured set of guidelines that details an organization's processes for maintaining accordance with...

  • regulatory compliance

    Regulatory compliance is an organization's adherence to laws, regulations, guidelines and specifications relevant to its business...

  • privacy compliance

    Privacy compliance is a company's accordance with established personal information protection guidelines, specifications or ...

SearchSecurity

SearchHealthIT

  • telemedicine (telehealth)

    Telemedicine is the remote delivery of healthcare services, such as health assessments or consultations, over the ...

  • Project Nightingale

    Project Nightingale is a controversial partnership between Google and Ascension, the second largest health system in the United ...

  • medical practice management (MPM) software

    Medical practice management (MPM) software is a collection of computerized services used by healthcare professionals and ...

SearchDisasterRecovery

  • crisis management plan (CMP)

    A crisis management plan (CMP) outlines how to respond to a critical situation that would negatively affect an organization's ...

  • disaster recovery (DR) test

    A disaster recovery test (DR test) is the examination of each step in a disaster recovery plan as outlined in an organization's ...

  • business continuity plan (BCP)

    A business continuity plan (BCP) is a document that consists of the critical information an organization needs to continue ...

SearchStorage

  • kilobyte (KB or Kbyte)

    A kilobyte (KB or Kbyte) is a unit of measurement for computer memory or data storage used by mathematics and computer science ...

  • megabytes per second (MBps)

    Megabytes per second (MBps) is a unit of measurement for data transfer speed to and from a computer storage device.

  • zettabyte

    A zettabyte is a unit of measurement used by technology professionals and the general public to describe a computer or other ...

Close