Supponiamo di dover / preferire l'output di hash a 128 bit, ad esempio per generare una chiave di crittografia a 128 bit o, in altre applicazioni (ad esempio verifica dell'integrità dei file), per consumare meno spazio di archiviazione.
Non conosco alcuna funzione di hash a 128 bit nuova / standard / non interrotta, quindi sembra che dobbiamo usare SHA256.
È accettabile il troncamento dell'uscita SHA256 a 128 bit? Un hash così troncato ha una sicurezza uguale a un hash a 128 bit? Intendo un hash a 128 bit che non ha vulnerabilità note; sicuramente non MD5!
Ho un'idea di come ottenere questo risultato:
MD5(Truncate128(SHA256_hash))
Non so se questo avrà alcun beneficio / detrimento per la sicurezza.