¿Se pueden eliminar las colisiones de hash mediante el hash dos veces? [duplicar]

3

Supongamos que tengo un archivo verified.txt que tiene un determinado hash X.

Un atacante puede formar un impostor.txt que replica el hash con contenido diferente, lo que resulta en una colisión para un algoritmo dado y hace que la prueba de hash sea inútil.

Sin embargo, ¿podría evitarse esto realizando un segundo hash con un segundo algoritmo y comparando ambos hashes?

Por ejemplo, ¿son MD5 y SHA-1 lo suficientemente diferentes como para que no se pueda crear una colisión para ambos a la vez? ¿Puedo confiar en que la combinación sea más segura?

    
pregunta mskfisher 29.05.2018 - 17:42
fuente

2 respuestas

1

El segundo hash reducirá la probabilidad de colisión (es decir, es más 'seguro'), pero desafortunadamente no puede eliminarlo por completo.

Desde mi punto de vista, un solo hash largo (como sha512) es mejor que dos hashes cortos porque la colisión de dos hashes se puede buscar en paralelo y tomará menos tiempo.

    
respondido por el John Doe 29.05.2018 - 17:53
fuente
1

Un segundo hash será más "seguro", la pregunta es si es lo suficientemente seguro para tu modelo de amenaza.

Para encontrar una colisión para los dos algoritmos dados, un atacante debe encontrar colisiones para uno de los algoritmos y verificar si la colisión ocurre con el otro.

Esto es posible de lograr ya que el grupo de entradas infinitas que producen una colisión para el algoritmo A y el grupo de entradas infinitas que producen una colisión para el algoritmo B es probable que tengan una intersección no nula.

Para hacer eso, el atacante debe tener al menos la potencia de la computadora para producir una colisión MD5 Y una colisión SHA1.

Es imposible saber si esto es posible actualmente en un período de tiempo que implicaría un riesgo, ya que no hay colisiones conocidas para ambos algoritmos (MD5 y SHA1) al mismo tiempo

Nota: esto supone que no hay un algoritmo mejor que Bruteforce para encontrar una colisión para los dos algoritmos al mismo tiempo, para los cuales no hay evidencia de que exista

    
respondido por el Mr. E 29.05.2018 - 19:32
fuente

Lea otras preguntas en las etiquetas