Rainbow Table
Una tabla arcoíris es una tabla precalculada que mejora el método de Martin Hellman para invertir funciones hash, intercambiando espacio por tiempo para romper hashes de contraseñas.
Propósito
Reduce drásticamente el almacenamiento mediante cadenas hash precalculadas, rompiendo con eficiencia hashes de contraseñas sin sal en un compromiso tiempo-espacio.
Mecanismo
Precalcula cadenas hash: repetir hash-y-reducir desde un punto inicial hasta uno final, guardando solo los puntos finales. Para buscar, se repite reducir-y-hash desde el hash objetivo hasta coincidir con un punto final, y se reconstruye la cadena desde el inicio para hallar la preimagen. La sal obliga a una tabla independiente por usuario, haciendo inviable la precomputación.
Casos de uso
- Romper hashes LM/NTLM sin sal
- Educación sobre seguridad de hashes de contraseñas
- Herramienta Ophcrack
- Auditorías de seguridad
Ejemplos
- entrada
MD5 without saltOutput8-character alphabetic password cracked in secondsSalt defeats rainbow tables
Errores comunes
- Storing password hashes without salt
- Unique per-user salt + slow hash