Ataque de colisión


En criptografía , un ataque de colisión en un hash criptográfico intenta encontrar dos entradas que produzcan el mismo valor de hash, es decir, una colisión de hash . Esto contrasta con un ataque de preimagen en el que se especifica un valor hash objetivo específico.

Enunciado matemáticamente, un ataque de colisión encuentra dos mensajes diferentes m1 y m2 , de manera que hash (m1) = hash (m2) . En un ataque de colisión clásico, el atacante no tiene control sobre el contenido de ninguno de los mensajes, pero son elegidos arbitrariamente por el algoritmo.

Al igual que los cifrados de clave simétrica son vulnerables a los ataques de fuerza bruta , cada función de hash criptográfica es inherentemente vulnerable a las colisiones mediante un ataque de cumpleaños . Debido al problema del cumpleaños , estos ataques son mucho más rápidos de lo que sería una fuerza bruta. Un hash de n bits se puede romper en 2 n / 2 pasos de tiempo (evaluaciones de la función hash).

Es posible realizar ataques más eficientes empleando el criptoanálisis para funciones hash específicas. Cuando se descubre un ataque de colisión y se descubre que es más rápido que un ataque de cumpleaños, una función hash a menudo se denuncia como "rota". La competencia de la función hash del NIST fue inducida en gran medida por los ataques de colisión publicados contra dos funciones hash muy utilizadas, MD5 [1] y SHA-1 . Los ataques de colisión contra MD5 han mejorado tanto que, a partir de 2007, solo toma unos segundos en una computadora normal. [2] Las colisiones hash creadas de esta manera suelen tener una longitud constante y en gran parte no están estructuradas, por lo que no se pueden aplicar directamente para atacar formatos o protocolos de documentos generalizados.

Sin embargo, son posibles soluciones si se abusa de las construcciones dinámicas presentes en muchos formatos. De esta forma se crearían dos documentos lo más parecidos posible para tener el mismo valor hash. Un documento se mostraría a una autoridad para que lo firmara, y luego la firma podría copiarse en el otro archivo. Dicho documento malicioso contendría dos mensajes diferentes en el mismo documento, pero mostraría condicionalmente uno u otro a través de cambios sutiles en el archivo:

Una extensión del ataque de colisión es el ataque de colisión de prefijo elegido, que es específico de las funciones hash Merkle-Damgård . En este caso, el atacante puede elegir dos documentos arbitrariamente diferentes y luego agregar diferentes valores calculados que dan como resultado que todos los documentos tengan el mismo valor hash. Este ataque es mucho más poderoso que un ataque de colisión clásico.