Foro de elhacker.net

Seguridad Informática => Hacking => Mensaje iniciado por: Tronos154 en 25 Marzo 2014, 01:09 am



Título: Colisionamiento de hashes
Publicado por: Tronos154 en 25 Marzo 2014, 01:09 am
Tengo una duda la cual me gustaria que me aclarasen,¿como se puede generar un colisionamiento de dos hashes?,he averiguado que es 100% seguro de que dos hashes colisionen,pero ¿como puedo averiguar cual de todos colisionara?.Para aclararnos mejor por ejemplo la palabra hola genera este hash 4d186321c1a7f0f354b297e8914ab240,habra un momento en el que otra palabra distinta a hola genere este hash por lo cual se producira un colisionamiento,pero ¿como puedo predecir que palabra sera?


Título: Re: Colisionamiento de hashes
Publicado por: engel lex en 25 Marzo 2014, 01:37 am
Citar
he averiguado que es 100% seguro de que dos hashes colisionen

no XD no es 100% seguro a menos que tengas

Código
  1. int hash (string palabra)
  2. return 1;

hay posibilidad de que 2 hash colisionen?
si
cual es la probabilidad?
100%/posibilidades

en md5 eso son un montón de 0 despues de la coma y antes de un numero diferente

Citar
abra un momento en el que otra palabra distinta a hola genere este hash por lo cual se producira un colisionamiento,pero ¿como puedo predecir que palabra sera?

hablando de 2 palabras formalmente dichas, de nuestro diccionario que colisiones, no, no hay... por lo menos hasta donde personas han corrido todos los diccionario con md5 no han conseguido

hablando de 2 cadenas en formato ascii de longitud posiblemente infinita si, hay alguna probabilidad, aunque muy baja...

si hablamos de 2 variables binarias, tienen una probabilidad más alta que el caso anterior...


aquí este autor expone que puede crear un programa A y un programa B, siendo A y B un programas validos y diferentes,logra que tengan el mismo hash, a demás expone que solo necesitan 128 bytes de diferencia para la colisión md5...
http://www.mscs.dal.ca/~selinger/md5collision/ (http://www.mscs.dal.ca/~selinger/md5collision/)

con respecto a la predictibilidad, hasta ahora no hay... es el objetivo principal de los hashes... si se consigue un patrón calculable, automáticamente ese hash queda inútil




Título: Re: Colisionamiento de hashes
Publicado por: #!drvy en 25 Marzo 2014, 01:44 am
Para complementar la respuesta de engelx (te me adelantaste ·_·)..

Una colisión solo se da en casos donde la entrada es mas grande que la salida. Es decir el texto que quiero "cifrar", tiene mas bytes que la salida que produce el método de cifrado.

Un famoso ejemplo es:
d131dd02c5e6eec4693d9a0698aff95c 2fcab50712467eab4004583eb8fb7f89
55ad340609f4b30283e4888325f1415a 085125e8f7cdc99fd91dbd7280373c5b
d8823e3156348f5bae6dacd436c919c6 dd53e23487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080280d1e c69821bcb6a8839396f965ab6ff72a70


Contra

d131dd02c5e6eec4693d9a0698aff95c 2fcab58712467eab4004583eb8fb7f89
55ad340609f4b30283e488832571415a 085125e8f7cdc99fd91dbdf280373c5b
d8823e3156348f5bae6dacd436c919c6 dd53e2b487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080a80d1e c69821bcb6a8839396f9652b6ff72a70


En donde se obtiene el mismo hash (79054025255fb1a26e4bc422aef54eb4).

Y las posibilidades de colisión varían mucho según el algoritmo. En tu caso te estas refiriendo a MD5 pero hay otros donde todavía no se ha encontrado ni una sola (SHA).

Saludos


Título: Re: Colisionamiento de hashes
Publicado por: Tronos154 en 25 Marzo 2014, 13:13 pm
Es decir,matematicamente MD5 es vulnerable pero nadie sabe como encontrar dos hashes iguales con distinta entrada.Vamos,que hasta que la teoria no sea comprobada seguira siendo seguro este tipo de encriptacion.


Título: Re: Colisionamiento de hashes
Publicado por: engel lex en 25 Marzo 2014, 13:24 pm
te equivocas en casi toda tu ultima frase

Es decir,matematicamente MD5 es vulnerable pero nadie sabe como encontrar dos hashes iguales con distinta entrada

si se sabe... es justamente lo que explicó drvy

Vamos,que hasta que la teoria no sea comprobada seguira siendo seguro este tipo de encriptacion.

la teoría comprobada está, puedes ver el primer ejemplo...
no es un tipo de encriprtacion... es una suma de comprobación...





Título: Re: Colisionamiento de hashes
Publicado por: Tronos154 en 25 Marzo 2014, 13:35 pm
Perdon por mi ignoracia XD es que para mi es un tema dificil de entender lo cual me genera muchas preguntas y las respuestas que me dais me cuesta entenderlas,pero gracias por las aclaraciones.


Título: Re: Colisionamiento de hashes
Publicado por: engel lex en 25 Marzo 2014, 13:38 pm
XD no hay problema pregunta tus dudas por tontas que sean XD así se aprende! por eso te lo corrijo! :P

si tienes dudas hazlas


Título: Re: Colisionamiento de hashes
Publicado por: pindonga123 en 26 Marzo 2014, 23:06 pm
Muchachos, no se si estoy orinando fuera del tarro y tendria que abrir un tema nuevo con mi duda. Pero para que me serviria que dos hashes colisionen?. Para hacerle creer a la maquina que recibe algo correcto que en realidad es falso?. Gracias


Título: Re: Colisionamiento de hashes
Publicado por: engel lex en 27 Marzo 2014, 02:46 am
exacto... podrías pasar un archivo viral como uno original... realmente no te sabría decir implicaciones directas reales de esto...


Título: Re: Colisionamiento de hashes
Publicado por: ivancea96 en 27 Marzo 2014, 15:04 pm
Como muchos sistemas de login web usan MD5 para guardar las contraseñas, técnicamente, habría infinitas contraseñas diferentes con el mismo hash jaja.
Siempre que no se limite el tamaño de la pass, claro.


Título: Re: Colisionamiento de hashes
Publicado por: engel lex en 27 Marzo 2014, 15:11 pm
por eso no toqué las contraseñas, necesitarias aceptar contraseñas binarias de 128bytes (no pueden aer ascii por las limitaciones de él


Título: Re: Colisionamiento de hashes
Publicado por: Gh057 en 27 Marzo 2014, 15:29 pm
exacto pindonga123, como bien indicó engelx en conjunto con #!drvy, la colisión de hashes permitiría eso; justamente el MD5 es una suma de comprobación, para verificar la integridad de un archivo y de esa forma saber que no fue manipulado.

un usuario malicioso que tomara el control de un sitio de descargas, podría intentar intercambiar un archivo por uno infectado, pero la suma de hashes sería diferente; solo en el caso que diera una coincidencia (o colisión de hashes) el mismo saltaría la comprobación tomándose como genuina la descarga. saludos.


Título: Re: Colisionamiento de hashes
Publicado por: pindonga123 en 27 Marzo 2014, 23:08 pm
Muchas gracias por la explicacion