Nella pratica è più sicuro utilizzare l'output di più algoritmi hash invece di uno solo (assumendo che le dimensioni dell'output siano le stesse)?
Con sicurezza, in questo contesto, intendo la protezione da entrambe le collisioni e la reversibilità delle funzioni.
Un esempio particolare sarebbe utilizzare 128 bit da SHA-512 più 128 bit da MD5 invece di usare 256 bit da SHA-512.
La mia intuizione è che, teoricamente, questo indebolirebbe la funzione, perché ci sono noti attacchi contro MD5 che, in pratica, ridurrebbe la dimensione dell'output della funzione combinata. Tuttavia, in pratica, è più difficile trovare una collisione / inversione per entrambi gli algoritmi allo stesso tempo - perché implicherà un ulteriore lavoro teorico invece di usare esistente (o imminente) quelli pubblicati ?
Modifica
Per chiarire, sto semplicemente chiedendo le proprietà di base dell'irreversibilità e della resistenza alle collisioni - non su un particolare uso delle funzioni di hash, come la derivazione delle chiavi dalle password (c'è un'eccellente copertura a riguardo in altre domande) o usando l'output come identificatori univoci.
Un altro modo per esprimere questo sarebbe "è una funzione di hash definita come la concatenazione di altre due funzioni di hash meglio di quelle?". Inoltre, sono (in qualche modo) consapevole che, informazione teoricamente , non può essere.