Con un hash serio, la única forma de encontrar una preimagen es hacer una conjetura y verificarla. "Serio" significa que no es el método de cosecha propia de alguien, pero incluso el MD5 que está roto para algunos usos todavía es serio aquí, al igual que el hashing tradicional de contraseñas basado en DES de Unix que todavía tiene la resistencia que se suponía que tenía (es solo que esta cantidad es muy poco para el poder informático de hoy). En otras palabras, si tengo H y quiero encontrar P tal que Hash (P) = H, entonces la única manera es encontrar P es hacer una conjetura, calcular el hash de esta conjetura y ver si es igual a H.
Por lo tanto, todos los métodos de descifrado de contraseñas pueden clasificarse como fuerza bruta. La fuerza bruta todavía puede utilizar trucos inteligentes. Puede calcular hashes de muchas contraseñas potenciales y luego buscar muchos hashes en las tablas resultantes, es un diccionario. Aún tenías que calcular todos los hashes que vas a romper (y más). Las tablas del arco iris consisten en calcular una cantidad enorme de hashes y almacenarlas de una manera inteligente. Una tabla de arco iris es un método para comprimir un diccionario. Estos métodos basados en el diccionario se basan en la precomputación que se puede compartir entre muchos intentos de craqueo y se vuelve inútil por medio del uso apropiado de sal.
Los crackers de contraseñas siempre funcionan al enumerar todas las contraseñas posibles. La inteligencia proviene de enumerar las contraseñas más probables primero: p@ssw0rd
y 1loveYou
antes de navpbtbf
y homechasebogbigamy
.