L'hash è una funzione matematica univoca ed unidirezionale (cioè non può essere invertita), che trasforma un testo di qualunque lunghezza (input) in testo di lunghezza fissa (output) relativamente limitata.

In pratica, applicando una funzione di hash a un file o ad un intero hard disk, si ottiene una sequenza alfanumerica ad es. di 32 caratteri, che rappresenta una sorta di "impronta digitale" dei dati, e viene detta valore di hash.

Le funzioni di hash presentano principalmente due proprietà interessanti dal punto di vista forense:

Quindi, se i dati sui quali è stato calcolato il valore di hash cambiano anche di una sola virgola, il nuovo valore di hash sarà completamente diverso.

Quando si dice “praticamente impossibile” ci si riferisce al fatto che la probabilità che casualmente due testi differenti generino lo stesso hash è talmente bassa (per l’algoritmo MD5 siamo nell’ordine di 2^64 tentativi) da divenire trascurabile, così come per ottenere un testo che generi un predeterminato valore di hash vi sono 2^128 tentativi possibili.

Per quanto di interesse dell’informatica forense, possiamo dire che l’hash di un documento informatico e quello della sua copia bitstream, calcolati in sede di intervento presso il detentore con garanzia di contraddittorio, costituiscono (se uguali) una certificazione inoppugnabile che il contenuto del supporto “originale” è esattamente uguale alla “copia” sulla quale verranno effettuati gli accertamenti tecnici del caso.