Cracking de contraseñas
Ataque de diccionario, fuerza bruta acotada, y por qué la sal (salt) importa.
¿Por qué funciona esto matemáticamente?
Como el hash es unidireccional (no se puede "descifrar"), la única forma de encontrar qué texto produjo un hash dado es probar candidatos y comparar — por eso "romper" un hash es, en esencia, un problema de fuerza bruta sobre el espacio de entradas posibles, no un problema algebraico como romper una llave débil. El tamaño de ese espacio crece exponencialmente con la longitud: con un alfabeto de tamaño k y longitud máxima L, el espacio es k¹ + k² + ... + k^L. Por eso una contraseña de 12 caracteres con mayúsculas, minúsculas, números y símbolos es astronómicamente más difícil de forzar que una de 6 caracteres solo en minúsculas — no por una razón matemática "elegante", sino por pura combinatoria.