Una cifra di controllo è parte integrante di un metodo di rilevamento degli errori. Può fare riferimento a una delle due cose: la cifra effettiva, associata a un numero a più cifre, che rappresenta se quel numero a più cifre è accurato o meno. In alternativa, una cifra di controllo si riferisce alla misura utilizzata per testare l’accuratezza di una raccolta o di un blocco di dati, al contrario di un singolo numero. In entrambi i casi, il processo di questo tipo di controllo della ridondanza può essere definito calcolo della cifra di controllo o algoritmo della cifra di controllo. Il metodo della cifra di controllo può assumere molti approcci diversi ed è utilizzato a livello internazionale per molti scopi diversi. Alcuni comuni sistemi di numerazione o codifica che utilizzano cifre di controllo includono, tra gli altri, l’Universal Product Code (UPC) e l’International Standard Book Number (ISBN).
La cifra di controllo è progettata per rilevare particolari tipi di errori comuni nell’immissione dei dati, sia che i dati siano stati letti e inseriti dalla stessa persona su una tastiera o un tastierino telefonico, sia che i dati siano stati letti da una persona e inseriti da un’altra. L’errore di immissione dei dati più comune in questo senso è quello di inserire semplicemente una singola cifra in modo errato. Questo rappresenta tra il 60 e il 95 percento di tutti gli errori di dati. Legati per secondo sono l’omissione o l’aggiunta di una singola cifra da un lato e la trasposizione di cifre adiacenti dall’altro. Altri errori possibili, ma che si verificano con frequenza molto minore, includono l’inversione dell’ordine di tre cifre in modo che 123 venga immesso come 321, ad esempio; ed errori fonetici, confondendo 16 e 60.
Le cifre di controllo possono effettivamente essere aggiunte al numero che devono controllare. Nel numero di identificazione del veicolo (VIN), che ha 17 caratteri, la cifra di controllo è nella nona posizione. In un numero ISBN di 13 cifre, invece, la cifra di controllo compare alla fine, come 13° numero.
Esistono diversi algoritmi comunemente utilizzati per il calcolo delle cifre di controllo e lo stesso algoritmo non viene sempre utilizzato per lo stesso scopo a livello internazionale. Ad esempio, l’algoritmo sviluppato e intitolato allo scienziato Hans Peter Luhn, chiamato anche Mod 10, è la formula utilizzata negli Stati Uniti per i numeri delle carte di credito e di debito e in Canada per l’autenticazione del numero di previdenza sociale (SIN). L’algoritmo Luhn viene utilizzato anche per i codici a barre internazionali European Article Number (EAN13), mentre una formula diversa, Mod11, viene utilizzata per alcuni codici a barre in Germania e per i codici fiscali (TFN) in Australia.
La formula di Luhn aggiunge la cifra di controllo alla fine del numero che verifica. Da destra a sinistra, inclusa la cifra di controllo, ogni seconda cifra viene raddoppiata. Se una qualsiasi delle cifre raddoppiate diventa un numero a più cifre, i singoli numeri di quei numeri a più cifre vengono sommati. I restanti numeri vengono sommati. Se la somma risultante è divisibile per 10, il numero a più cifre è valido secondo la formula di Luhn. Se la somma risultante non è divisibile per 10, verrà aggiunta una cifra di controllo che renderà la somma risultante divisibile per 10. Quindi, se il numero da convalidare è 1234, non sarebbe valido senza una cifra di controllo di 6 virata alla fine. Questo perché (1+1) + 2 + (3 + 3) + 4 = 14 che non è divisibile per 10. L’aggiunta di una cifra di controllo di 6, tuttavia, renderà la somma risultante divisibile per 10 e quindi valida per la formula di Luhn .
In Australia, c’è stato un tentativo di utilizzare le cifre di controllo per un secondo scopo: limitare la capacità delle persone di falsificare numeri validi a fini fiscali. Nonostante gli sforzi del governo per mantenere segreto l’algoritmo delle cifre di controllo, le persone sono state in grado di capirlo e continuare a falsificare i numeri relativi alle tasse.