¿Podemos descifrar los hashes SHA usando el aprendizaje automático? ¿Qué tan difícil o lento será eso?

En la actualidad, no se ha demostrado por completo en las condiciones académicas una interrupción real que involucre a SHA-1 y el uso de una debilidad estructural de SHA-1, y mucho menos en la naturaleza.

Lo mejor que tenemos en este momento es un ataque de colisión teórico que debería permitir que un atacante calcule una colisión SHA-1 con esfuerzo “aproximadamente 2 ^ 61”, que es enorme pero aún sustancialmente menor que la resistencia 2 ^ 80 esperada de un “perfecto “función hash con salida de 160 bits. Si bien 2 ^ 61 está al alcance de la tecnología existente, es demasiado costoso que incluso las universidades ricas se entreguen casualmente a ese tipo de experimento. Por lo tanto, aún no se ha producido una colisión real.

Además, para un atacante práctico, calcular una colisión rara vez otorga mucho poder: el atacante generalmente debe calcular una colisión con cierto grado de control sobre el contenido de los mensajes en colisión , lo que puede ser más difícil (o no).

Otro parámetro es que incluso si SHA-1 es perfecto, su tamaño de salida (160 bits) implica un límite máximo a su resistencia a la colisión en aproximadamente 2 ^ 80, que es medio millón de veces 2 ^ 61 (por lo que es bastante más caro), pero Al mismo tiempo, no es en última instancia caro. Se puede imaginar un cálculo 2 ^ 80 con la tecnología existente y los recursos disponibles en la Tierra sin necesidad de invocar algunas cosas de ciencia ficción o romper las leyes de la física.

Dado que cambiar los algoritmos en las aplicaciones implementadas lleva mucho tiempo (bueno, todavía estamos tratando de hacer que la gente deje de usar SSL 3.0 y, en su lugar, vaya a TLS 1.0, más de 15 años después de la publicación de TLS 1.0), será mejor que lo consigamos ahora, de modo que SHA-1 se elimina realmente cuando la tecnología ha mejorado hasta el punto de que el esfuerzo 2 ^ 80 se ha vuelto factible en la práctica.

(Fuente: Esto es 2015. ¿Ya se ha explotado o agrietado SHA1?)

Si bien, como el autor anterior calculó previamente, 2 ^ 80 es un número alcanzable a través de la supercomputación distribuida y al aplicar el aprendizaje automático a los patrones, es posible que pueda romper Sha – 1 también, supongo que tenemos algos más seguros como Sha 3 que resistirían ataques y tener un mecanismo de protección mucho mejor contra hacks