Gracias por el A2A
Esa es una muy buena pregunta, una que me hice hace muchos años. La fuerza bruta significa ir secuencialmente a través de un conjunto de datos de una manera conocida para no omitir ninguna posibilidad, y luego probar cada pieza de datos para ver si ha encontrado la correcta.
El método de fuerza bruta del pobre simplemente proporciona la siguiente contraseña al sistema y verifica la respuesta del sistema para ver si funcionó. Y en un sistema de cifrado, la clave es la contraseña unidireccional, no solo dos veces, sino CIENTOS o MIL veces. El resultado de ese hash de un solo paso múltiple, es la clave que luego se utiliza para desencriptar los datos.
- ¿Cómo funcionan los algoritmos comerciales?
- ¿Las estructuras de datos y los algoritmos son tan importantes para convertirse en un buen programador?
- ¿Cuál es el tiempo de ejecución para un recorrido en orden?
- ¿Cuál es la forma más eficiente de implementar la unión en varias tablas (> 5 tablas) usando SQL / ANSI SQL?
- ¿Existe un algoritmo más rápido que O (kn ^ 2) para calcular las rutas más cortas k-step de una sola fuente en un gráfico ponderado?
La contraseña en sí NO SE UTILIZA para cifrar datos, la contraseña NO es la clave.
¿Cuántas veces se hace hash? Tendría que aplicar ingeniería inversa al sistema o consultar su documentación para determinarlo. Por ejemplo, puede ser un número estático integrado en el software, o podría ser un valor relacionado con la contraseña misma. Por ejemplo, hash la contraseña 1024 veces, luego toma los 10 primeros bits de ese hash y continúa hachándola tantas veces.
Entonces, la siguiente pregunta sería, ¿por qué no omitir la fase de contraseña y simplemente forzar la clave con la fuerza bruta? Después de todo, una clave SHA-256 tiene solo 256 bits de longitud. Supongo que esto es lo que quieres decir en tu pregunta. Bueno, una de las formas en que el software de cifrado descubre que tiene la clave correcta es si puede usar la clave para recuperar la contraseña original o un hash derivado de esa contraseña. Dado que es un hash unidireccional, si tiene la clave, deberá poder derivar la contraseña original. Como es un hash unidireccional, no puedes retroceder. Por lo tanto, verificar que tiene la Clave correcta (si adivina claves aleatorias) crearía el escenario exacto del que está hablando. No sabremos si ha encontrado los datos sin cifrar correctamente o no. De hecho, puede llevar más tiempo validar si esa clave es la correcta o no, entonces sería hash una contraseña.
Es por eso que generalmente fuerza la contraseña, y no la clave. A menos que haya realizado una ingeniería inversa del sistema y sepa cómo validar la clave, más rápido de lo que se necesita para generar la clave a partir de la contraseña, mediante el uso de los hashes múltiples de una vía.