¿Es más seguro en la práctica usar la salida de múltiples algoritmos hash en lugar de uno solo (asumiendo que el tamaño de salida es el mismo)?
Por seguro, en este contexto, me refiero a la protección contra las colisiones y la reversibilidad de la función.
Un ejemplo en particular sería usar 128 bits de SHA-512 más 128 bits de MD5 en lugar de 256 bits de SHA-512.
Mi intuición es que, en teoría, esto debilitaría la función, porque hay ataques conocidos contra MD5 que, efectivamente, reducirían el tamaño de salida de la función combinada. Sin embargo, en la práctica, es más difícil encontrar una colisión / inversión para ambos algoritmos al mismo tiempo , porque implicará un trabajo teórico adicional en lugar de usar el existente (o próximo) publicados ?
EDIT:
Para aclarar, simplemente estoy preguntando sobre las propiedades básicas de la irreversibilidad y la resistencia a la colisión, no sobre un uso particular de las funciones hash, como la derivación clave de contraseñas (hay una cobertura excelente sobre eso en otras preguntas) o el uso de la salida como identificadores únicos.
Otra forma de expresar esto sería "¿es una función hash definida como la concatenación de otras dos funciones hash mejores que esas?". Además, soy (algo) consciente de que, información teóricamente , no puede ser.