Cosa sono i checksum?

I checksum sono blocchi fissi di informazioni, o dati, utilizzati per verificare e mantenere l’integrità dei dati durante l’archiviazione e la trasmissione di informazioni computerizzate. Utilizzando funzioni matematiche, un algoritmo di checksum calcola il numero di bit in un particolare blocco di informazioni e genera un numero che rappresenta dati accurati. Quando i dati vengono duplicati con qualsiasi mezzo, il duplicato viene quindi confrontato con il numero originale, tramite il valore calcolato. Se i numeri corrispondono, i dati sono considerati completi e accurati.

La maggior parte dei protocolli di trasferimento file (FTP) validi richiede una sorta di verifica dei dati e molte funzioni sono in grado non solo di rilevare, ma anche di riparare problemi minori con l’integrità dei dati. Alcuni tipi di checksum, noti anche come hash sum, includono md5 e Cyclic Redundancy Check (CRC). I CRC sono un tipo di checksum noto come checksum del codice polinomiale, in grado di identificare alterazioni accidentali del formato dati originale.

Sebbene utili per rilevare errori nei file scaricati sul Web o tramite reti peer-to-peer (P2P), i checksum vengono utilizzati anche in qualsiasi funzione in cui i dati possono essere danneggiati quando vengono trasferiti su una rete o su un supporto di memorizzazione. Gli errori nei dati sono spesso causati da bit mancanti, duplicati o errati. Poiché il valore di un checksum viene calcolato in base a ogni bit in un blocco di dati, anche un bit mancante può causare un errore di checksum.

La maggior parte dei file codifica i checksum direttamente nei propri dati, solitamente aggiunti alla fine del file. Quando il file viene trasferito su un altro sistema o dispositivo, il destinatario legge il checksum e utilizza il suo algoritmo per verificare che l’intero file sia stato ricevuto senza errori. I file con bit mancanti, danneggiati o ripetuti potrebbero non funzionare correttamente o non funzionare affatto. Altri potrebbero sembrare funzionare correttamente nonostante il fallimento del checksum. I dati incompleti o danneggiati possono continuare a degradarsi nel tempo, fino a quando non diventano inutilizzabili o causano errori.

A causa della loro natura, i checksum di base sono generalmente utili solo per verificare e riparare piccoli blocchi di dati. All’aumentare della quantità di informazioni, aumenta anche la probabilità di un errore che il checksum non può né rilevare né correggere. Ciò può far sì che i dati corrotti superino ripetutamente il checksum, generino più errori e persino corrompano il dato del checksum.

I controlli di ridondanza ciclica, a causa della maggiore complessità dei loro algoritmi, hanno un tasso di errore molto più basso rispetto a un checksum standard e possono essere applicati a blocchi di dati più grandi. Sebbene i CRC non siano sicuri, forniscono comunque una maggiore affidabilità durante il controllo e la conservazione dell’integrità dei dati. Alcuni software forniscono anche funzionalità di checksum e riparazione degli errori in base a funzioni personalizzate.