11 Facts About Rainbow tables

1.

Rainbow tables partition a function, whose domain is a set of values and whose codomain is a set of keys derived from those values, into chains such that each chain is an alternating sequence of values and keys, followed by a final value.

FactSnippet No. 1,632,448
2.

Rainbow tables were invented by Philippe Oechslin as an application of an earlier, simpler algorithm by Martin Hellman.

FactSnippet No. 1,632,449
3.

Rainbow tables are a special kind of such table that overcome certain technical difficulties.

FactSnippet No. 1,632,450
4.

Rainbow tables are much bigger and use a different reduction function in each column.

FactSnippet No. 1,632,451
5.

Rainbow tables effectively solve the problem of collisions with ordinary hash chains by replacing the single reduction function R with a sequence of related reduction functions R1 through Rk.

FactSnippet No. 1,632,452
6.

Rainbow tables can achieve similar performance with tables that are k times larger, allowing them to perform a factor of k fewer lookups.

FactSnippet No. 1,632,453
7.

Rainbow tables use a refined algorithm with a different reduction function for each "link" in a chain, so that when there is a key collision in two or more chains, the chains will not merge as long as the collision doesn't occur at the same position in each chain.

FactSnippet No. 1,632,454
8.

Rainbow tables table is ineffective against one-way hashes that include large salts.

FactSnippet No. 1,632,455
9.

However, Rainbow tables can be generated that take into account common ways in which users attempt to choose more secure passwords, such as adding a number or special character.

FactSnippet No. 1,632,456
10.

Rainbow tables have seen reduced usage as of 2020 as salting is more common and GPU-based brute force attacks have become more practical.

FactSnippet No. 1,632,457
11.

However, rainbow tables are available for eight and nine character NTLM passwords.

FactSnippet No. 1,632,458