Hash
Hash, nella sua accezione più comune, si riferisce ad una funzione operante in un solo senso (ossia, che non può essere invertita) atta alla trasformazione di un testo in chiaro e di lunghezza arbitraria in una stringa di lunghezza relativamente limitata.Tale stringa rappresenta una sorta di "impronta digitale" del testo in chiaro, e viene detta "valore di hash" o "checksum crittografico".
Non esiste la certezza che alcun valore di hash di lunghezza finita ed inferiore a quella del testo in chiaro provenga da un singolo messaggio; non esiste, pertanto, una corrispondenza biunivoca tra hash e messaggio.
Dato un valore di hash, inoltre, non dovrebbe essere in alcun modo possibile risalire al testo che l'ha generato, in quanto ciò significherebbe che la funzione utilizzata permette l'inversione.
Hash e crittografia
Le funzioni hash svolgono un ruolo essenziale nella crittografia: sono utili in quanto permettono di verificare l'integrità del messaggio stesso, poiché anche una minima variazione sconvolgerebbe il checksum, vanificando la tentata modifica; sono, inoltre, utili per la concisione che permettono nei calcoli matematici atti alla crittografia del testo in chiaro.
La lunghezza dei valori di hash varia a seconda delle funzioni (od algoritmi) di hash utilizzate. I valori più comuni e comunemente adottati sono di 128 bit, ed offrono una buona affidabilità in uno spazio relativamente ridotto.
Le funzioni di hash possono essere anche utilizzate per la creazione di firme digitali, in quanto permettono la rapida creazione della firma anche per file di grosse dimensioni, senza richiedere calcoli lunghi e complessi.