Co to są cyfry kontrolne?

Cyfra kontrolna jest integralną częścią metody wykrywania błędów. Może odnosić się do jednej z dwóch rzeczy — rzeczywistej cyfry powiązanej z liczbą wielocyfrową, która reprezentuje, czy ta wielocyfrowa liczba jest dokładna, czy nie. Alternatywnie cyfra kontrolna odnosi się do miary używanej do testowania dokładności zbioru lub bloku danych, w przeciwieństwie do pojedynczej liczby. Tak czy inaczej, proces tego typu kontroli nadmiarowej można nazwać obliczaniem cyfry kontrolnej lub algorytmem cyfry kontrolnej. Metoda cyfr kontrolnych może przyjmować wiele różnych podejść i jest stosowana na całym świecie do wielu różnych celów. Niektóre popularne systemy numeracji lub kodowania, które wykorzystują cyfry kontrolne, obejmują między innymi Universal Product Code (UPC) i International Standard Book Number (ISBN).

Cyfra kontrolna ma na celu wyłapanie określonych typów błędów występujących we wprowadzaniu danych, niezależnie od tego, czy dane zostały odczytane i wprowadzone przez tę samą osobę na klawiaturze lub klawiaturze telefonu, czy też dane zostały odczytane przez jedną osobę i wprowadzone przez inną. Najczęstszym błędem wprowadzania danych w tym zakresie jest po prostu niepoprawne wprowadzenie jednej cyfry. Stanowi to od 60 do 95 procent wszystkich błędów danych. Wiązane na sekundę to pomijanie lub dodawanie jednej cyfry z jednej strony, az drugiej transponowanie sąsiednich cyfr. Inne błędy, które są możliwe, ale występują z dużo mniejszą częstotliwością, obejmują odwrócenie kolejności trzech cyfr, tak że na przykład 123 jest wprowadzane jako 321; i błędy fonetyczne, mylące 16 i 60.

Cyfry kontrolne mogą w rzeczywistości zostać dodane do numeru, który mają sprawdzić. W numerze identyfikacyjnym pojazdu (VIN), który ma 17 znaków, cyfra kontrolna znajduje się na dziewiątej pozycji. Z kolei w 13-cyfrowym numerze ISBN cyfra kontrolna pojawia się na końcu, jako 13. cyfra.

Istnieje kilka różnych algorytmów, które są powszechnie używane do obliczania cyfr kontrolnych, a ten sam algorytm nie zawsze jest używany w tym samym celu na całym świecie. Na przykład algorytm opracowany przez i nazwany na cześć naukowca Hansa Petera Luhna, zwany także Mod 10, jest formułą używaną w Stanach Zjednoczonych do numerów kart kredytowych i debetowych, a w Kanadzie do uwierzytelniania numeru ubezpieczenia społecznego (SIN). Algorytm Luhna jest również używany w przypadku międzynarodowych kodów kreskowych Europejskiego Numeru Artykułu (EAN13), podczas gdy inna formuła, Mod11, jest używana w przypadku niektórych kodów kreskowych w Niemczech i numerów rozliczeń podatkowych (TFN) w Australii.

Formuła Luhna dodaje cyfrę kontrolną na końcu sprawdzanej liczby. Od prawej do lewej, łącznie z cyfrą kontrolną, każda druga cyfra jest podwajana. Jeśli którakolwiek z cyfr, które zostały podwojone, stanie się liczbami wielocyfrowymi, poszczególne liczby tych liczb wielocyfrowych są sumowane. Pozostałe liczby są sumowane. Jeżeli otrzymana suma jest podzielna przez 10, to liczba wielocyfrowa obowiązuje zgodnie ze wzorem Luhna. Jeśli otrzymana suma nie jest podzielna przez 10, zostanie dodana cyfra kontrolna, która sprawi, że otrzymana suma będzie podzielna przez 10. Tak więc, jeśli numer do walidacji to 1234, nie byłby ważny bez doczepionej na końcu cyfry kontrolnej 6. Dzieje się tak, ponieważ (1+1) + 2 + (3 + 3) + 4 = 14, co nie jest podzielne przez 10. Dodanie cyfry kontrolnej równej 6 spowoduje jednak, że otrzymana suma będzie podzielna przez 10, a zatem będzie poprawna według wzoru Luhna .
W Australii podjęto próbę wykorzystania cyfr kontrolnych w drugim celu — aby ograniczyć możliwość podrabiania ważnych numerów do celów podatkowych. Pomimo wysiłków rządu, aby utrzymać algorytm cyfr kontrolnych w tajemnicy, ludzie byli w stanie to rozgryźć i nadal fałszować numery podatkowe.