El descifrado de contraseñas es un término general que describe un grupo de técnicas que se utilizan para obtener la contraseña de un sistema de datos. El descifrado de contraseñas se refiere específicamente a los procesos mediante los cuales se obtiene una contraseña a partir de datos existentes; El simple hecho de engañar a una persona para que dé una contraseña, como a través del phishing, no se considera un descifrado de contraseñas. Sin embargo, adivinar una contraseña basándose en el conocimiento preexistente del propietario del sistema informático se considera un craqueo, ya que la contraseña no se conoce de antemano. La mayoría de los métodos para obtener contraseñas, sin embargo, implican adivinar repetidamente o explotar las debilidades de seguridad del sistema informático.
Hay varios métodos diferentes para adivinar la contraseña de una persona. Uno puede, por ejemplo, utilizar el conocimiento de la persona cuyo sistema está intentando descifrar para predecir posibles contraseñas. Los nombres de seres queridos o mascotas, fechas importantes, números de teléfono, lugares importantes y nombres de usuario comunes son contraseñas notorias y fáciles de adivinar.
Otro método de descifrado de contraseñas basado en conjeturas se conoce como ataque de diccionario. Mucha gente usa contraseñas que se pueden encontrar en un diccionario o palabras seguidas de un solo número. Muchos programas de descifrado intentan categóricamente ingresar palabras del diccionario y combinaciones de números para descifrar una contraseña. Los ataques de diccionario son generalmente inútiles contra contraseñas complejas, pero tienden a ser muy efectivos contra cualquier contraseña de una sola palabra.
Un ataque de fuerza bruta es otro método para descifrar contraseñas que es significativamente más poderoso que un ataque de diccionario. Un programa de ataque de fuerza bruta probará todas las combinaciones posibles de caracteres hasta que establezca la contraseña adecuada. Esto lleva mucho tiempo, ya que existen innumerables combinaciones posibles de letras, números y símbolos que una persona podría usar para una contraseña. Sin embargo, a medida que los procesadores de computadora se vuelven cada vez más poderosos, es un método cada vez más plausible para descifrar contraseñas.
Otros métodos para descifrar contraseñas implican descifrar la función hash criptográfica del sistema informático. Una función hash criptográfica es un procedimiento que convierte una contraseña en una cadena de bits de tamaño uniforme. Si se puede descifrar el hash, es posible realizar ingeniería inversa en la contraseña. La mayoría de las funciones hash, sin embargo, son muy complejas y no se pueden descifrar sin mucho tiempo y esfuerzo.
Si bien un experto en seguridad informática puede descifrar muchas variedades de contraseñas, hay pasos que se pueden tomar para evitar los intentos de descifrar contraseñas. Las contraseñas complejas siempre son mejores que las simples. Las contraseñas que usan letras mayúsculas y minúsculas, números y símbolos son mucho más difíciles de descifrar que las contraseñas que usan solo una o dos de esas opciones. Un ataque de fuerza bruta necesitaría trabajar a través de muchas más posibilidades antes de que pudiera encontrar la contraseña correcta.