Il termine Rainbow Table indica una tabella utilizzata in ambito crittografico per la ricerca di chiavi di cifratura in chiaro. La tabella rappresenta un compromesso tra il tempo di esecuzione e la richiesta di risorse necessarie per decifrare le chiavi in formato hash generate da una determinata funzione di cifratura. Questa tecnica fu inizialmente pensata da Martin Hellman, ma solo in via teorica in quanto sarebbero stati necessari troppi Terabyte di memoria per salvare tutti gli hash possibili. Successivamente Philippe Oechslin riprese questo concetto ottimizzandolo per essere applicabile in pratica.