Domande frequenti: concetti base
Che cos’è il controllo ciclico ridondante (CRC)?
Traduzione, adattamento e integrazioni a cura di Alessandro de Simone. Read this page in English...
Il CRC (Controllo Ciclico Ridondante) effettua un calcolo matematico su un blocco di dati (cioè un file), restituendo un numero caratteristico che rappresenta il contenuto e l'organizzazione stessa dei dati sottoposti a elaborazione. Lo scopo consiste nell'ottenere un valore numerico che identifichi univocamente quel particolare blocco dei dati. Si può pensare a CRC come a una operazione capace di determinare l'impronta digitale di un file. Tale valore numerico, o impronta digitale che dir si voglia, è usato per identificare univocamente il file stesso ed è denominato “checksum” (valore di controllo o semplicemente “controllo”).
Il CRC di un determinato file è calcolato eseguendo una divisione a modulo 2 grazie a un generatore polinomiale, registrando il resto dopo ogni divisione. I polinomi sono:
CRC16 = x16 + x15 + x2+ 1
CRC32 = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
Il vantaggio principale dell'algoritmo è che risulta semplice da implementare a livello hardware e permette di annotare eventuali errori. Sfortunatamente è utilizzabile solo per controllare l'integrità di piccoli blocchi di dati. Con l'aumentare delle dimensioni del file aumenta anche la possibilità di incorrere in errori di calcolo.
L'algoritmo descritto è usato nello standard Simple File Verification (FSV).
Si raccomanda di usare FastSum per il controllo dell'integrità dei file. Vai alla sezione download.