[uylug-varios] [ssac] SHA-1 collision found...

Carlos M. Martinez carlosmarcelomartinez at gmail.com
Fri Feb 24 15:04:16 PST 2017


Hola Eduardo,

Los hashes siempre tienen colisiones, está en su definición (el hash 
tiene menos bits que los mensajes que se hashean). El tema es *como* 
encontrar una colisión. Dado un archivo, ¿como ‘construyo’ otro 
archivo que tenga el mismo hash que el primero?.

El peor caso es el de fuerza bruta, si el hash tiene h bits, entonces en 
el peor de los casos tendré que probar 2^h casos (en realidad me va a 
alcanzar con probar algo más de 2^(h/2), ya que este problema es igual 
al de la “paradoja del cumpleaños” [1])

Los hashes evolucionan con el tiempo mas o menos de esta forma:

1- período idílico: el algoritmo es nuevo y no se conocen ataques 
mejores que los de fuerza bruta
2- se pierde el amor: aparece alguien (generalmente un chino ;-) ) y 
encuentra un ataque que es un poco mejor (i.e. de menor complejidad) que 
un ataque de fuerza bruta, generalmente solo a nivel teórico
3- se pierde un poco mas el amor: aparece alguien que puede explotar 
esta debilidad teórica para generar una colisión pero a un costo muy 
grande
4- distanciamiento: generar colisiones a medida comienza a ser viable -> 
**este es el momento de abandonar el barco en masa**
5- divorcio: generar colisiones a medida se vuelve práctico

Con lo de ayer SHA-1 está en (3). Llevó 12 años pasar de (2) a (3), 
las primeras debilidades teóricas de SHA-1 se publicaron en 2005. El 
ataque de fuerza bruta en SHA-1 es de 2^80 operaciones, y el primer 
ataque teórico encontrado fue uno de 2^69 en 2005, seguido rápidamente 
de uno de 2^63 [2].

SHA-2 está en (2) con un pié en (3) ya que pertenece a la misma 
familia matemática de algoritmos de hash. SHA-3 está en pleno idilio 
:-)

MD5 esta en (5) desde hace unos años.

Salute!

-Carlos

[1] https://en.wikipedia.org/wiki/Birthday_problem
[2] https://en.wikipedia.org/wiki/SHA-1#Attacks

On 24 Feb 2017, at 19:35, Eduardo Trápani wrote:

>> Supongo que ya lo vieron por todos lados, y ya se sabía que tarde o
>> temprano iba a pasar, pero no deja de ser interesante.
>
> No, yo no sabía. No termino de entender algo, colisiones va a haber
> siempre no, o sea, es un hash. El tema es que uno no las pueda hacer a
> medida.
>
> Pero por lo que veo, tampoco es que ellos hayan encontrado una manera
> simple de hacerlo. Al parecer lleva un montón enorme de recursos.
>
> Si se hubiese dado por casualidad (que hubiese podido pasar), o si lo
> hubiesen resuelto por fuerza bruta, ¿levantaría ese revuelo?
>
> Igual es impresionante el impacto que va a tener algo así de obsoleto
> (desde hace tanto tiempo). Aunque, sin los detalles del algoritmo, 
> capaz
> que para los efectos prácticos, ese hash sigue siendo útil.
>
> Gracias por compartir, Eduardo.
> _______________________________________________
> Uylug-varios mailing list
> Uylug-varios at listas.uylug.org.uy
> http://listas.uylug.org.uy/listinfo.cgi/uylug-varios-uylug.org.uy


More information about the Uylug-varios mailing list