Per espandere la risposta di @ aron-foster, il modo in cui questo viene fatto nella crittografia a chiave pubblica consiste nel cancellare prima il messaggio e quindi crittografare l'hash utilizzando la chiave privata del mittente.
Nella crittografia a chiave pubblica, come probabilmente saprai, i dati crittografati con una delle chiavi possono essere decifrati solo con la chiave corrispondente. Ciò significa che quando l'hash è crittografato con la chiave privata, la chiave pubblica del mittente può quindi essere utilizzata per decrittografarlo, verificando così la chiave.
Tuttavia, anche con hash ben noti (diciamo, un set di hash "noto bene" usato per l'integrità del file), il problema che si pone è un potenziale problema. Cosa succede se un utente malintenzionato non solo modifica il file ma scopre una collisione hash che gli consente di manipolare i dati protetti conservando lo stesso stesso hash?
Questo è il motivo per cui gli strumenti di integrità dei file (anziché gli strumenti di convalida dell'installazione come RPM e APT) registrano gli hash multipli per gli oggetti tracciati. In questo modo, anche se viene rilevata una collisione hash, è fuori di dubbio (oggi) che è possibile modificare un file e mantenere più di un hash invariato.