Seguridad de SHA256: ¿qué significa que se hayan interrumpido los ataques "46 de las 60 rondas de SHA256"?

30

Informes de Wikipedia

  

Actualmente, los mejores ataques públicos rompen 46 de las 64 rondas de SHA-256 o 46 de las 80 rondas de SHA-512.

¿Qué significa esto y qué tan seguro se espera que SHA-256 esté en el futuro concebible? Para un laico, 46 de 64 puede sonar como si se tratara de "72% roto". Dado que Bitcoin se basa en SHA-256, ¿es probable que siga siendo seguro?

    
pregunta 10.04.2013 - 01:14
fuente

2 respuestas

32

Muchos algoritmos criptográficos (funciones hash, cifrado simétrico ...) están organizados como una secuencia de "rondas", que son más o menos similares entre sí. Fue empíricamente notado que para una estructura de algoritmo dada, generalmente , más rondas implican más seguridad; precisamente, algunas clases de ataques (por ejemplo, diferencial y cryptanalysis lineal ) ven su eficiencia disminuir más o menos exponencialmente con el número de rondas.

Cuando los criptógrafos no saben cómo romper un algoritmo completo, intentan romper versiones reducidas del mismo algoritmo, con algunas características eliminadas; en particular, menos rondas, para algoritmos que tienen rondas. Cuando se dice que el SHA-256 está roto "hasta 46 rondas", entonces esto significa que otra función de hash, obtenida tomando SHA-256 pero eliminando las últimas 18 rondas, puede ser atacada (al menos de una manera académica: el ataque no necesita ser realista, solo debe ser menos imposible que atacar la función completa); pero al eliminar solo las últimas 17 rondas se obtiene una función que, por lo que sabemos, es tan buena como la cosa completa. Los criptógrafos se sentirán más seguros si el número máximo de rondas atacadas es sustancialmente menor que el número real de rondas en el algoritmo completo.

Dado que el comportamiento de la eficiencia de ataque tiende a ser exponencial en el número de rondas, no lineal, esto no puede (y no debe) traducirse, incluso de manera intuitiva, en: "puede romper el 80% de las rondas - el algoritmo > roto en 80 % ". Analogía: suponga que desea aumentar su fortuna, duplicándola diez veces. Empiezas con un dólar; después de diez duplicaciones, tendrías 1024 dólares; esa es tu meta Después de ocho duplicaciones, tienes 256 dólares. Ocho duplicaciones hechas de cada diez: eso es el 80% del trabajo, ¿verdad? Entonces, ¿por qué solo tiene 256 dólares y no el 80% de los 1024 dólares (que serían 819.2 dólares)?

Para resumir , no debes intentar leer demasiado en estas afirmaciones. Son resultados científicos que son interesantes para los científicos, pero que pueden ser sobreinterpretados fácilmente.

    
respondido por el Tom Leek 12.04.2013 - 17:16
fuente
8

En primer lugar, para abordar la parte "72%":

No. Están más o menos al mismo nivel de seguridad.

Veamos otra cita en la página :

  

Hay dos ataques de preimagen de encuentro en el medio contra SHA-2 con un número reducido de rondas. El primero ataca al SHA-256 de 41 rondas en 64 rondas con una complejidad de tiempo de 2 253.5 y una complejidad de espacio de 2 16 , y SHA-512 de 46 rondas fuera de 80 rondas con tiempo 2 511.5 y espacio 2 3 . El segundo ataca el SHA-256 de 42 rondas con una complejidad de tiempo de 2 251.7 y la complejidad del espacio de 2 12 , y SHA-512 de 42 rondas con el tiempo 2 502 y espacio 2 22 .

SHA-256 tiene una complejidad de tiempo de 2 256 para romper normalmente. Reducirlo a 2 253.5 es una diferencia insignificante, y tomaría siglos de tales cambios antes de que sea posible descifrar SHA.

Sobre "rondas":

SHA-256 y SHA-512 son básicamente una función particular (con diferentes constantes para los dos algoritmos) aplicada una y otra vez en un número. Cada vez que lo apliques, se llama "ronda". Lo que estos investigadores parecen haber hecho es tomar los algoritmos de SHA para un número reducido de rondas y descifrar que .

    
respondido por el Manishearth 12.04.2013 - 17:18
fuente

Lea otras preguntas en las etiquetas