Una verdad sobre las funciones Hash
No es la primera vez que leo o escucho esta afirmación sobre las funciones Hash:
“…estas funciones convierten un texto (o una serie de datos) de longitud arbitraria a uno de longitud fija. Estas funciones no son reversibles, es decir, a partir del resumen no se puede obtener el texto original. En segundo lugar ha de ser computacionalmente imposible encontrar dos textos que tengan un mismo resumen.”
En segundo lugar es dónde creo que se equivoca Sacha Fuentes. Yo no sabría explicar matemáticamente cómo funcionan las funciones Hash pero me parece de sentido común lo siguiente:
“Una secuencia de bytes de longitud arbitraria pueden representar infinitas combinaciones posibles (2^infinito), mientras que una cadena de 128 bits solo puede representar un número concreto de combinaciones (2^128).”
Lo que garantizan las funciones Hash es que, como no puedes predecir el resumen, no puedes variar la cadena original según tu conveniencia teniendo en cuenta que generará el mismo resumen que la cadena original y podrás pegar el cambiazo.

Tanto tu como yo tenemos razón
Las propiedades que ha de cumplir una función de hash son:
- No reversible. Que dado el hash no podamos encontrar el origen.
- Dado un texto y su resumen, ha de ser computacionalmente imposible encontrar otro texto que tenga el mismo resumen.
- Ha de ser computacionalmente imposible encontrar dos textos cualquiera que den el mismo resumen.
Con computacionalmente imposible quiere decir que el tiempo que se tarde sea muy alto, no que no existan
Sacha Fuentes el February 9th, 2007 a las 11:35 am
Ops! … ahí me has dao
albinworld el February 9th, 2007 a las 1:24 pm