Venerdì 29 Marzo 2024
Text Size

Che cosa è l’hash di un file

Valutazione attuale:  / 4
ScarsoOttimo 
Quando si parla di HASH (dall’inglese to hash: sminuzzare, pasticciare) in informatica si intende una funzione (una formula matematica) che permette di ottenere da una stringa di lunghezza arbitraria una stringa di lunghezza predefinita. Esistono vari tipi di algoritmi che realizzano la funzioni di hash, ognuno con particolari proprietà che dipendono dall'applicazione.
L'algoritmo di hash elabora qualunque quantità di bit (in informatica si dice che elabora dati "grezzi") garantendo: una determinata stringa di numeri e lettere, indipendentemente dal tipo di dati o dimensione del file originario - c.d. digest-, che sia univoca per ogni documento - cosiddetta firma digitale: procedura informatica che garantisce l’autenticità e l’integrità di messaggi e documenti scambiati e archiviati con mezzi informatici, al pari di quanto svolto dalla firma autografa per i documenti tradizionali - e con un algoritmo ottenuto che non permetta di risalire al documento originale - cosiddetta funzione unidirezionale -.
La lunghezza dei valori di hash varia a seconda degli algoritmi utilizzati (procedimenti che permettono di trovare la soluzione di un problema attraverso un numero finito di operazioni o istruzioni semplici). Il valore più comunemente adottato è l'MD5 (message digest algorithm) a 128 bit (32 caratteri), che offre una buona affidabilità in spazio ridotto. Oppure, possono essere utilizzati hash di dimensioni maggiori, più sicuri,  come SHA-0 o 1 (Secure Hash Algorithm), che salgono a 160 bit o SHA-2 o 3 che arrivano a stringhe di 224, 256, 384 e 512 bit.

I primi algoritmi analizzati si erano dismostrati non sicuri poichè dei ricercatori avevano trovato delle collisioni (testi differenti con stesso hash), ma attraverso l’aumento della crittografia sono diventati affidabili in quanto per trovare delle collisioni ci vorrebbero dei calcoli per tempi "inimmaginabili". In particolare, si sono diffusi la versione SHA-1 (hash a 160 bit ) e la MD5 (hash a 128 bit), nell’utilizzo dell'informatica forense (scienza che studia l'individuazione, la conservazione, la protezione, l'estrazione, la documentazione, l'impiego ed ogni altra forma di trattamento del dato informatico nell’ambito giudiziario), per validare - firmare digitalmente - i dati acquisiti: le cosidette copie forensi (copie esatte degli originali). Peculiarità, quest'ultima, fondamentale nella conservazione degli elementi di prova acquisiti nelle fasi investigative che impongono l’uso di codici hash, verificabili in ogni momento, che garantiscano la genuinità delle informazioni (dati non modificati rispetto all’originale). Queste firme di hash, ormai,  vengono generate in automatico dagli applicativi utilizzati per l'acquisizione forense ed allegate alle copie create.
L’uso dell’hash viene sempre più utilizzato anche nel fase di download (scaricamento) di software, file, messaggi o altro che usano come mezzo di trasporto la rete: Vi siete mai chiesti cos’è quella stringa alfanumerica che aggiungono in fondo ad un file che solitamente non viene considerata? Bene, quella è la firma di hash del file che state scaricando e con la quale il mittente vi garantisce che quello che avete nel vostro computer è identico a quello che vi ha messo a disposizione senza che l'informazione abbia subito modifiche.
Per verificare l’integrità di un programma, di un file o di un messaggio, potete utilizzare vari software che troverete in rete. Personalmente, ho sempre utilizzato l’utility “HashMyFiles” che permette di calcolare gli hash MD5 e SHA1 di uno o più file in locale. Inoltre, potrete copiare l’esito come elenco hash MD5/SHA1 negli appunti, o salvarlo in file di testo/html/xml.
Questa fantastica utility, piccola e in versione portable (non necessità d’installazione), funziona con Windows 2000/XP/2003/Vista/Windows 7/Windows 8 e potrete scaricarla in versione 32bit cliccando qui o in versione 64bit cliccando qui. L'utility è in inglese ma se volete la traduzione in italiano potete scaricarla cliccando qui (il file scaricato dovrà essere decompresso ed inserito nella cartella del programma che magicamente diventerà in italiano). Ulteriori approfondimenti sul programma potrete trovarli nel sito ufficiale raggiungibile cliccando qui.
{jcomments on}