CRC (controllo di ridondanza ciclico)
Un checksum basato sulla divisione polinomiale, pensato per individuare il tipo di errori che producono davvero cavi rumorosi e celle flash usurate.
W. Wesley Peterson descrisse il metodo nel 1961. I dati vengono trattati come un lungo polinomio binario e divisi per un polinomio generatore fisso; il resto è il checksum. Sembra complicato, ma in hardware si riduce a pochi XOR e shift, ed è per questo che i CRC sono ovunque: frame Ethernet, messaggi CAN, ZIP e PNG. Molti microcontrollori includono un'unità CRC dedicata, e un bootloader verifica spesso il CRC dell'immagine firmware prima di saltarci dentro.
Un CRC a n bit rileva ogni errore su un singolo bit e ogni burst fino a n bit di lunghezza. Non offre però alcuna protezione contro manomissioni intenzionali, perché chiunque può ricalcolarlo. Per quello serve una firma.