Supongamos que necesitamos / preferimos la salida de hash de 128 bits, por ejemplo, para generar una clave de cifrado de 128 bits o, en otras aplicaciones (por ejemplo, la verificación de la integridad del archivo), para consumir menos espacio de almacenamiento.
No conozco ninguna función hash de 128 bits nueva / estándar / ininterrumpida, por lo que parece que tenemos que usar SHA256.
¿Es aceptable truncar la salida SHA256 a 128 bits? ¿Este hash truncado tiene una seguridad igual a un hash de 128 bits? Me refiero a un hash de 128 bits que no tiene vulnerabilidades conocidas; definitivamente no es MD5!
Tengo una idea de cómo lograr esto:
MD5(Truncate128(SHA256_hash))
No sé si esto tendrá algún beneficio / detrimento para la seguridad.