The term Rainbow Table identifies a table used in the cryptography sphere for the research of clear ciphering keys. The table is a compromise between running time and the request of resources needed to decrypt keys in hash format, generated by a certain ciphering function. This technique was conceived by Martin Hellman, but only in a theoric way as it would require too many Terabytes of memory to store all possible hashes. Later Philippe Oechslin optimized this concept so that it could be used in practice.