Passa ai contenuti principali

HASH — L’impronta digitale dei dati

 



Ci sono parole informatiche che, appena le leggiamo, sembrano uscite da un laboratorio segreto.

HASH è una di queste.

  • Corta.
  • Secca.
  • Un po’ misteriosa.

Eppure l’idea alla base è molto più semplice di quanto sembri.

Possiamo immaginare un hash come una specie di impronta digitale di un contenuto. Prendiamo un file, un testo, una password o un insieme di dati. Li passiamo attraverso una particolare funzione matematica, chiamata funzione di hash.

Il risultato sarà una sequenza di caratteri.

Per esempio:

9f86d081884c7d659a2feaa0c55ad015...

Non è molto poetica. Ma può essere molto utile.


Un’impronta digitale per i dati

Pensiamo alle impronte digitali.

Due persone possono assomigliarsi moltissimo. Ma l’impronta viene utilizzata per distinguerle. Con i file possiamo fare qualcosa di simile. Abbiamo un documento.

Calcoliamo il suo hash. Otteniamo una sequenza.

Se il documento rimane identico, utilizzando la stessa funzione di hash otterremo lo stesso risultato. Ma se cambiamo anche solo un piccolo dettaglio, l’hash può cambiare completamente.

Ed è proprio questa una delle caratteristiche più interessanti.


Basta cambiare una lettera

Facciamo un esempio semplice.

Scriviamo:

Ciao Giorgio

  • Calcoliamo l’hash.
  • Otteniamo una certa sequenza.

Poi cambiamo soltanto una lettera:

Ciao giorgio

  • Visivamente la differenza è minima.

Per una funzione di hash, invece, il risultato può diventare completamente diverso.

Questo comportamento è utile perché permette di accorgersi anche di piccolissime modifiche. Una virgola. Uno spazio. Un carattere. Un singolo bit. Il contenuto cambia?

Cambia anche la sua impronta.


Perché dovrei voler conoscere l’impronta di un file?

Per verificare che sia rimasto identico.

Immaginiamo di scaricare un programma da Internet. Il produttore potrebbe pubblicare anche l’hash ufficiale del file. Dopo il download possiamo calcolare l’hash della nostra copia.

Se coincide con quello pubblicato dal produttore, abbiamo una buona indicazione che il file scaricato sia identico a quello originale.

Se invece l’hash è diverso, qualcosa è cambiato. Forse con il download si è corrotto. Forse il file non è quello che pensavamo.

Forse è stato modificato.

L’hash quindi può aiutare a verificare l’integrità di un file.


Integrità: una parola importante

Nel mondo della sicurezza informatica, integrità significa poter verificare che un dato non sia stato modificato in modo indesiderato.

Pensiamo a un contratto.

Lo salviamo oggi. Fra qualche mese vogliamo sapere se quel file è ancora esattamente lo stesso. Confrontare l’hash originale con quello calcolato successivamente può aiutarci. 

  • Stesso contenuto? Normalmente otteniamo lo stesso hash. 
  • Contenuto modificato? Molto probabilmente otterremo un hash differente.


L’hash non è una copia del file

Questo è importante.

Dentro l’hash non troviamo il documento. Non contiene una miniatura della fotografia. Non possiamo aprirlo e leggere ciò che c’era dentro.

L’hash è semplicemente il risultato di un calcolo.

È un po’ come prendere un intero libro e ottenere, attraverso una procedura matematica, una breve impronta che lo rappresenta. L’impronta non è il libro. Serve a identificarne alcune caratteristiche.


E non è nemmeno una compressione

Un altro possibile equivoco.

Comprimere un file significa cercare di ridurne le dimensioni mantenendo la possibilità di ricostruirlo. Pensiamo a un file ZIP. Lo comprimiamo. Poi possiamo decomprimerlo e riottenere i file originali.

Con l’hash non funziona così.

Una funzione di hash è pensata per andare principalmente in una direzione. 

Dai dati otteniamo l’hash. Dall’hash, invece, non dovremmo poter ricostruire semplicemente il contenuto originale.


Quindi l’hash è una cifratura?

No.

Ed è una distinzione importante. La cifratura protegge un contenuto trasformandolo in modo che possa essere letto soltanto da chi possiede la chiave corretta.

Ma l’obiettivo rimane poter tornare al contenuto originale. Cifro un messaggio. Poi, con la chiave corretta, lo decifro.

Con l’hash invece non abbiamo questo meccanismo.

Calcoliamo un’impronta. Non esiste una normale operazione di “de-hash” che ci restituisca il file di partenza.

Quindi:

cifratura e hash non sono la stessa cosa.


Allora perché si parla di hash anche con le password?

Perché le password non dovrebbero essere conservate semplicemente come testo leggibile.

Immaginiamo un sito che memorizzi:

Giorgio — GattoBlu123!

Se qualcuno riuscisse ad accedere a quell’archivio, troverebbe direttamente la password.

Non sarebbe una grande idea.

Per questo i sistemi ben progettati utilizzano tecniche specifiche che derivano un valore dalla password e lo memorizzano in forma protetta, invece di conservare semplicemente la password originale.

Quando effettuiamo l’accesso, il sistema può verificare il valore derivato dalla password inserita senza dover necessariamente conservare la password in chiaro.

Nella pratica, per le password si usano algoritmi specificamente progettati per questo scopo, insieme ad altre tecniche di protezione.

Il principio però ci aiuta a capire perché il concetto di hash compare spesso quando si parla di autenticazione.


Ma due contenuti diversi possono avere lo stesso hash?

In teoria sì.

Questo fenomeno si chiama collisione.

Ricordiamoci che possiamo avere quantità enormi di dati diversi, mentre l’hash ha una lunghezza definita.

Matematicamente è quindi possibile che due contenuti differenti producano lo stesso valore.

Una buona funzione crittografica di hash viene progettata proprio per rendere estremamente difficile trovare intenzionalmente collisioni utili.

Ed è uno dei motivi per cui gli algoritmi di hash non sono tutti equivalenti.


Gli algoritmi di hash cambiano nel tempo

Forse avete già incontrato nomi come:

  • MD5
  • SHA-1
  • SHA-256

Sembrano sigle inventate apposta per farci chiudere la pagina.

In realtà sono nomi di algoritmi.

Alcuni più vecchi, come MD5 e SHA-1, non sono più considerati adatti a molti usi di sicurezza perché nel tempo sono state individuate debolezze.

Algoritmi più moderni, come quelli della famiglia SHA-2, vengono utilizzati in molti contesti.

La lezione importante non è imparare tutte le sigle a memoria. È capire che anche gli strumenti matematici della sicurezza invecchiano.

Quello che era considerato sicuro anni fa potrebbe non esserlo più oggi.


Un piccolo esperimento mentale

Immaginiamo due fotografie apparentemente identiche.

  • Nella seconda cambiamo un solo pixel.
  • A occhio nudo potremmo non accorgercene.
  • Ma calcolando l’hash delle due immagini potremmo ottenere valori molto differenti.

Questo rende l’hash particolarmente utile quando non vogliamo sapere quanto due file siano simili.

Vogliamo sapere se sono esattamente uguali.

È una differenza importante. Una fotografia leggermente ritoccata può sembrare praticamente identica. Per l’hash, però, è un altro file.


Dove vengono utilizzati gli hash?

Molto più spesso di quanto immaginiamo.

Possono essere utilizzati per:

  • verificare l’integrità dei file;
  • supportare sistemi di autenticazione;
  • identificare dati;
  • controllare software scaricati;
  • gestire firme digitali e certificati;
  • organizzare dati nei sistemi informatici;
  • contribuire al funzionamento di tecnologie come le blockchain.

Naturalmente in ognuno di questi contesti il funzionamento completo può essere molto più articolato.

Ma alla base ritroviamo spesso la stessa idea:

ottenere un valore rappresentativo a partire da un insieme di dati.


Hash e firma digitale non sono la stessa cosa

Anche qui facciamo attenzione.

Un hash da solo può dirci che due contenuti risultano uguali rispetto a quella funzione. Ma non ci dice automaticamente chi ha creato quel file.

Nella firma digitale, invece, l’hash viene utilizzato insieme alla crittografia e ad altri meccanismi per permettere di verificare anche aspetti legati all’autenticità e all’integrità del documento.

L’hash è quindi un ingrediente importante. Ma non è tutta la ricetta.


Una metafora culinaria

Prendiamo una torta.

  • La torta è il nostro file.

Passiamola attraverso una macchina immaginaria che produce una piccola etichetta numerica basata su ogni sua caratteristica.

  • Quella è l’impronta.
  • Cambiamo un solo ingrediente. Anche pochissimo.

La macchina produce un’etichetta completamente diversa.

Possiamo quindi confrontare le etichette per capire se le due torte sono esattamente uguali.

Ma guardando soltanto l’etichetta non possiamo ricostruire facilmente la torta.

E soprattutto non possiamo mangiarla. Peccato.


Hash non significa sicurezza assoluta

Come sempre, evitiamo le formule magiche.

Il fatto che venga utilizzato un hash non rende automaticamente sicuro un sistema.

Conta quale algoritmo viene utilizzato. Conta come viene utilizzato. Conta il contesto. Conta l’intero sistema di sicurezza costruito intorno.

Scrivere la parola SHA-256 da qualche parte non trasforma automaticamente un’applicazione in Fort Knox.

La sicurezza non dipende mai da una singola parola tecnica.


La cosa da ricordare

Non dobbiamo imparare a calcolare gli hash a mano.

Per fortuna.

Ci basta ricordare l’idea fondamentale:

un hash è una sorta di impronta digitale ottenuta da un contenuto attraverso una funzione matematica.

Lo stesso contenuto, con lo stesso algoritmo, produce lo stesso valore. Una modifica anche molto piccola tende a produrre un risultato diverso.

Ed è proprio questo che lo rende così utile.


Se dobbiamo ricordare una sola formula, possiamo usare questa:

FILE → FUNZIONE HASH → IMPRONTA DIGITALE

E una seconda:

cambio il file → cambia l’hash

Semplice.

💊 ICT in Pillole

Un hash non ci racconta cosa c’è dentro un file.

Ci aiuta piuttosto a rispondere a una domanda:

“È ancora esattamente quello di prima?”

A volte, nel digitale, una lunga sequenza apparentemente incomprensibile serve proprio a dirci una cosa semplicissima:

“Sì, è lui.” 😼

Questo contenuto nasce dall’incontro tra creatività umana e Intelligenza Artificiale. L’IA può averci affiancato nella realizzazione di testi e immagini; idee, scelte, verifiche e revisione finale restano affidate alla responsabilità editoriale umana. 

Perché, nella famiglia di ICT in Pillole, la tecnologia collabora con noi: non pensa al posto nostro. 😼

Seguici anche sul canale WhatsApp per non perderti nessuna novità!

Commenti

Post popolari in questo blog

Email: MAIUSCOLO o minuscolo?

Falso mito: le maiuscole nelle email contano? Scopriamolo passo passo! Spesso capita di sentir dire: "Attento, l'email va scritta tutta minuscola altrimenti non arriva!" Ma è vero? Spoiler: NO . Vediamo insieme perché questo è un falso mito e cosa dice davvero la tecnologia. 💡 Passo 1: Come è strutturato un indirizzo email? Un indirizzo email ha due parti principali: - La parte locale : prima della @ (es. nome.cognome) - Il dominio : dopo la @ (es. gmail.com, outlook.it, ecc.) Esempio: nome.cognome@gmail.com   🔹 Passo 2: Le maiuscole hanno valore? - Nella maggior parte dei casi NO. - I server email non distinguono tra maiuscole e minuscole . - Quindi scrivere Mario.Rossi@gmail.com o mario.rossi@gmail.com è esattamente la stessa cosa. ⚡ Eccezioni rare ma possibili Tecnicamente, secondo le specifiche ufficiali, la parte locale (prima della @) potrebbe essere case-sensitive . Questo significa che, in teoria, Pippo@dominio.com potrebbe essere diverso da pippo@dominio.com....

Come spostare un paragrafo in Word velocemente: metodi e scorciatoie

 Come spostare paragrafi in Word in un Attimo: Metodi e Scorciatoie Se lavori spesso con Microsoft Word, sai quanto può essere frustrante spostare i paragrafi manualmente. Il classico metodo taglia (Ctrl + X) e incolla (Ctrl + V) è lento e scomodo, soprattutto nei documenti lunghi. Ma c’è un modo più veloce! Word offre funzioni integrate e scorciatoie da tastiera per spostare interi paragrafi in pochi secondi, senza dover usare il copia-incolla. In questa guida vedremo i metodi più rapidi ed efficienti per riorganizzare il testo senza perdere tempo. Scopri subito come fare!     🖱️ Metodo 1: Spostare un Paragrafo con il Mouse Uno dei metodi più rapidi per spostare un paragrafo in Microsoft Word è utilizzare il trascinamento con il mouse, senza bisogno di tagliare e incollare manualmente. ✅ Come fare: Seleziona il paragrafo che vuoi spostare: clicca all’inizio e trascina il cursore su tutto il testo. Tieni premuto il tasto Maiusc (Shift). Clicca e trascina il paragraf...

Il viaggio del simbolo @ fino ai tempi moderni

Da Wikipedia: Il simbolo @ utilizzato come lettera capitale della parola "Amin" (Amen) nella Cronaca di Manasse, 1345. Il simbolo @, comunemente noto come "chiocciola" in italiano, ha una storia affascinante che si intreccia con l'evoluzione della comunicazione scritta. Questo carattere distintivo, che oggi associamo principalmente con gli indirizzi email, ha origini che risalgono ben oltre l'era digitale. La chiocciola ha avuto molteplici significati nel corso dei secoli. Inizialmente, si pensava che derivasse dalla contrazione della preposizione latina "ad", utilizzata dai monaci medievali per indicare un luogo o un indirizzo. Tuttavia, ricerche più recenti suggeriscono che il simbolo @ potrebbe aver rappresentato l'unità di misura "anfora", usata nell'antica Grecia e a Roma per indicare capacità e peso. Il passaggio del simbolo @ nel mondo della tecnologia avviene nel 1971, quando il programmatore statunitense Ray Tomlinson lo ...