giovedì 14 luglio 2016

Cos'è L'Hash (Impronta) Di Un File e Come Calcolarlo

Per Hash o, in italiano, "Impronta" ci si riferisce alla sequenza di simboli binari (bit) di lunghezza predefinita generata mediante l’applicazione di una apposita funzione di Hash appunto.
Ma cos’è esattamente l’impronta di un file?
Intanto per “file” ci si riferisce a testi (pdf, files, word, excel, etc), immagini, mp3, etc
Sopra ogni file il nostro computer scrive alcune informazioni di servizio come ad esempio il nome del file stesso, la data di creazione, dimensione del file, etc.
Il tutto tramite una lunga sequenza di bit: 0 e 1.
Noi sul desktop vediamo delle icone, il computer invece "vede" una lunga sequenza di 0 ed 1.
Calcolare l’impronta (Hash) significa appunto partire da una sequenza di bit di qualsiasi “lunghezza” (che varia in base al tipo di files, alla dimensione dello stesso, etc) ed ottenere una sequenza a lunghezza fissa e predeterminata, gestibile anche senza strumenti informatici (tanto da poterla trascrivere a penna anche su un banale foglio di carta).
Per far ciò ci serviamo di algoritmi come il Secure Hash Algorithm 256 (SHA256) che genera un hash-digest (impronta) di 256 bit.

Ad esempio un dato documento, darà origine ad una sequenza Hash di questo tipo:
= 1f8a690b7376a23823e2d5b045120da7e95876f47

Che sarà appunto univoca.
Solo il dato documento può avere una sequenza di questo tipo.
La funzione che genera l'Hash non deve permettere che sia possibile eseguire l’operazione inversa di ricavare dall’impronta la sequenza originaria (il file di partenza) né di individuare una qualsiasi sequenza alternativa di bit che possa generare quella stessa impronta (in poche parole non deve essere possibile ottenere impronte uguali partendo da files diversi).
Calcolando l’impronta iniziale del file e quella finale dello stesso file (magari un pdf inviato a qualcun'altro) le due devono combaciare (cioè la sequenza deve essere la stessa).
Se le impronte non coincidono il file ha subito un'alterazione e non è originale.
In ambiti giuridici o per documenti segreti/importanti viene sempre calcolata l'impronta del file ed aggiunta al documento, di modo tale che il ricevente possa calcolarla a sua volta e verificare se il documento è originale o se ha subito alterazioni.


FILES CON LA STESSA IMPRONTA?
Da un punto di vista informatico, non esiste inoltre differenza tra copia e duplicato: due files sono identici o non lo sono.
Due mp3 creati tramite "copia ed incolla" nello stesso momento o due documenti identici (creati allo stesso modo) avranno contenuto assolutamente identico e dunque genereranno impronte identiche.
Ovviamente però due files possono avere stesso contenuto (ad esempio un documento uguale per filo e per segno) ma impronte diverse, da cosa dipende ciò? Ovviamente dai metadati (nome dell'autore, data di modifica, intestazione titolo, etc).
La sequenza di bit sarà diversa, le impronte di conseguenza anche.
Stesso discorso per quanto riguarda due files identici (metadati idem) ma solo apparentemente uguali: basta infatti 1 sola lettera di differenza tra un documento e l'altro (o uno spazio in più o in meno) per rendere l'impronta dei due files diversa.


CALCOLO DELL'HASH
E' possibile calcolare l'Hash utilizzando utility online (Calcolo Impronta (Hash) Di Un File) o tramite appositi software (Hash Calculator (Download)).
Per il calcolo sarà bene selezionare l’algoritmo Sha-256 (standard delle firme digitali) e, dopo aver caricato il file di cui desideriamo estrarre l’impronta, otterremo il codice alfanumerico di 64 caratteri.
Come avrete capito un riferimento temporale (data, ora, minuti, secondi) è molto importante, in ambito giuridico l'Hash è calcolato dopo l'apposizione della firma digitale.

Nessun commento:

Posta un commento