Garantire l’integrità di un messaggio dall’invio alla ricezione è sempre stato un problema e, con la comparsa dei computer, è diventato centrale. Tutti i messaggi possono essere alterati durante la trasmissione: un graffio su un disco, un disturbo elettromagnetico in un cavo a fibra ottica, una macchia di caffè su una lettera. È dunque importante rilevare gli errori, se non addirittura correggerli.
Rilevare gli errori --------------------
Occorre distinguere bene tra codici rilevatori d’errore e codici correttori d’errore. I primi comprendono metodi che consentono di individuare la presenza di un errore in un codice, senza però riuscire a localizzarlo, tanto meno a correggerlo. È per esempio il ruolo della chiave che si trova alla fine dei numeri di previdenza sociale francesi (detti numéro d’inscription au répertoire, o NIR). Questo numero è composto da tredici cifre e da una chiave di controllo di due cifre. La chiave è calcolata in modo che la somma del numero di tredici cifre e della chiave sia un multiplo di 97; si ottiene così la formula seguente: chiave = 97 – (NIR mod 97), dove a mod b indica il resto dell’intero a nella divisione euclidea per l’intero strettamente positivo b.
La chiave di controllo è molto corta, appena due cifre. Eppure, la probabilità che risulti valida nonostante la presenza di errori nel numero di tredici cifre è molto bassa. Il metodo sembra dunque efficace.
Lo stesso principio si ritrova in informatica con il bit di parità: il primo bit (0 o 1) di ogni byte, cioè una sequenza di otto bit consecutivi, non contiene veramente informazione e serve soltanto a ottenere un numero pari di 1 nel byte; ciò permette di sapere se un bit è errato nel resto del byte.