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.