TL; DR: El cifrado puede ser más difícil de descifrar porque es posible que no conozca el texto simple para verificar que encontró la clave de cifrado correcta y que el cifrado puede requerirle convierta la clave con algoritmos costosos similares a los utilizados para la autenticación más el cifrado real.
Si los datos cifrados o las contraseñas son más difíciles de obtener depende de qué se cifró con qué algoritmo y cómo se almacenan las contraseñas para la autenticación.
Las contraseñas generalmente no se almacenan como texto sin formato legible para la autenticación, sino que se convierten a hashes o se compaginan con funciones hash criptográficas unidireccionales para que no pueda inferir la contraseña.
Idealmente, la única forma de obtener la contraseña original es forzarla bruscamente mediante el hashing de todas las contraseñas posibles o probables (tal vez basadas en reglas o diccionarios) y compararlas con el hash dado.
Además, es bueno si también requiere muchos recursos (tiempo de computación y / o memoria) para obtener el hash de la contraseña del texto sin formato, por lo que no es factible adivinar.
Dicho esto, el cifrado en sí mismo consiste en un paso de derivación de clave y un paso de cifrado reversible.
La derivación de clave transforma una clave definida por el usuario en una clave que se utiliza para el cifrado. La clave se puede denotar como una contraseña.
Sin embargo, en el contexto de cifrado, las contraseñas a menudo se denominan frases de contraseña porque es más probable que use no solo una palabra, sino un texto más largo para cifrar, mientras que las contraseñas de autenticación tienden a ser más cortas para los históricos y prácticos. razones: los usa mucho más frecuentemente en la mayoría de los casos, y los sistemas UNIX o Linux más antiguos e incluso Amazon, por ejemplo, contraseñas restringidas a 8 caracteres hace algunos años.
Como alternativa, muy a menudo encontrarás que clave es un término que se usa con más frecuencia para el secreto que se usa para cifrar los datos porque es más independiente de la estructura del secreto.
En el caso más simple, la clave se usa tal como está para cifrar los datos (piense en el cifrado Vigenère).
Sin embargo, para mayor seguridad, las contraseñas a menudo se convierten en hashes al igual que para la autenticación.
Esto se llama derivación clave.
Las funciones de derivación de claves también se pueden usar para generar hashes de contraseña para la autenticación.
Otra razón para no usar contraseñas directamente para el cifrado es que muchos algoritmos de cifrado modernos requieren claves de longitud fija, generalmente porque están basadas en bloques (la clave no necesariamente tiene que coincidir con el tamaño del bloque, por ejemplo, AES-256 que utiliza bloques de 128 bits con claves de 256 bits).
Muchos algoritmos de cifrado no utilizan la clave especificada por el usuario ni nada derivado de ella para el cifrado: derivan una "clave de cifrado clave" del secreto del usuario que se utiliza para cifrar una clave de datos que en realidad se utiliza para cifrar los datos.
Lo ideal es que la clave de datos sea una secuencia de datos aleatoria que no se pueda relacionar con el usuario, el sistema, los datos de texto sin formato o cualquier cosa , lo que significa que no puede deducir el secreto del usuario en este momento.
La clave de datos puede cifrarse con algoritmos criptográficos asimétricos lentos, como RSA.
La combinación del cifrado asimétrico con algoritmos simétricos se denomina cifrado híbrido o un sistema criptográfico híbrido y puede permitir que cualquier persona cifre datos mientras restringe el descifrado a un pequeño conjunto de usuarios.
Otro beneficio de usar este enfoque indirecto es que puede cifrar la clave de datos con múltiples claves de usuario para que todos los usuarios puedan acceder a la clave cifrada, y simplemente puede cambiar una clave de usuario sin necesidad de volver a cifrar los datos reales.
Al final, el cifrado produce un texto cifrado que se parece idealmente a datos completamente aleatorios con una entropía máxima y no da pistas sobre la clave definida por el usuario original o el texto sin formato.
Esto implica que hay tantos plaintexts plausibles que podrían cifrarse para producir el mismo texto cifrado, por lo que, a menos que sepa qué se cifró, no puede verificar que encontró la clave correcta & combinación de texto simple cuando intenta descifrar el cifrado.
Sin embargo, esto puede verse frustrado por sumas de comprobación, compendios y firmas del texto simple que le permiten verificar si su suposición fue correcta.
Entonces, a menos que el algoritmo de cifrado sea incorrecto o la derivación de la clave sea significativamente inferior a la utilizada para la autenticación de contraseña con la que se compara, o si sabe algo sobre la clave de cifrado o el texto simple, el cifrado es mucho más difícil de descifrar como hay más pasos involucrados y un bazillion de entradas plausibles.