Kas yra kontroliniai skaitmenys?

Kontrolinis skaitmuo yra neatskiriama klaidų aptikimo metodo dalis. Tai gali reikšti vieną iš dviejų dalykų – tikrąjį skaitmenį, susietą su kelių skaitmenų skaičiumi, kuris parodo, ar tas daugiaženklis skaičius yra tikslus, ar ne. Arba kontrolinis skaitmuo reiškia matą, naudojamą duomenų rinkinio arba duomenų bloko tikslumui patikrinti, o ne vienas skaičius. Bet kuriuo atveju šio tipo atleidimo patikrinimo procesas gali būti vadinamas kontrolinio skaitmens skaičiavimu arba kontrolinio skaitmens algoritmu. Kontrolinio skaitmens metodas gali būti taikomas įvairiais būdais ir tarptautiniu mastu naudojamas įvairiems tikslams. Kai kurios įprastos numeravimo ar kodavimo sistemos, kuriose naudojami kontroliniai skaitmenys, apima universalųjį gaminio kodą (UPC) ir tarptautinį standartinį knygos numerį (ISBN).

Kontrolinis skaitmuo skirtas užfiksuoti tam tikro tipo klaidas, įprastas įvedant duomenis, nesvarbu, ar tuos duomenis perskaitė ir įvedė tas pats asmuo klaviatūra ar telefono klaviatūra, ar duomenis perskaitė vienas asmuo, o įvedė kitas. Šiuo atžvilgiu dažniausiai pasitaikanti duomenų įvedimo klaida yra tiesiog neteisingas vieno skaitmens įvedimas. Tai sudaro nuo 60 iki 95 procentų visų duomenų klaidų. Antra yra vieno skaitmens praleidimas arba pridėjimas, kita vertus, gretimų skaitmenų perkėlimas. Kitos galimos klaidos, kurios pasitaiko daug rečiau, apima trijų skaitmenų eilės pakeitimą, kad, pavyzdžiui, 123 būtų įvesta kaip 321; ir fonetinės klaidos, painiojančios 16 ir 60.

Kontroliniai skaitmenys iš tikrųjų gali būti pridėti prie skaičiaus, kurį jie turi patikrinti. Transporto priemonės identifikavimo numeryje (VIN), kurį sudaro 17 simbolių, kontrolinis skaitmuo yra devintoje pozicijoje. Kita vertus, 13 skaitmenų ISBN numerio gale, kaip 13-as numeris, rodomas kontrolinis skaitmuo.

Yra keli skirtingi algoritmai, kurie dažniausiai naudojami skaičiuojant kontrolinius skaitmenis, ir tas pats algoritmas ne visada naudojamas tam pačiam tikslui tarptautiniu mastu. Pavyzdžiui, mokslininko Hanso Peterio Luhno sukurtas ir jo vardu pavadintas algoritmas, dar vadinamas Mod 10, yra formulė, naudojama JAV kredito ir debeto kortelių numeriams, o Kanadoje – socialinio draudimo numerio (SIN) autentifikavimui. Luhn algoritmas taip pat naudojamas tarptautiniams Europos gaminių numerio (EAN13) brūkšniniams kodams, o kitokia formulė Mod11 naudojama kai kuriems brūkšniniams kodams Vokietijoje ir mokesčių registravimo numeriams (TFN) Australijoje.

Luhno formulė pažymi kontrolinį skaitmenį skaičiaus, kurį ji patikrina, pabaigoje. Iš dešinės į kairę, įskaitant kontrolinį skaitmenį, kiekvienas antrasis skaitmuo padvigubinamas. Jei kuris nors iš padvigubintų skaitmenų tampa daugiaženkliais skaičiais, atskiri tų daugiaženklių skaičių skaičiai sumuojami. Likę skaičiai sumuojami. Jei gauta suma dalijasi iš 10, tai daugiaženklis skaičius galioja pagal Luhno formulę. Jei gauta suma nesidalija iš 10, bus pridėtas kontrolinis skaitmuo, dėl kurio gauta suma dalijasi iš 10. Taigi, jei patvirtintinas skaičius yra 1234, jis negaliotų be kontrolinio skaitmens 6 gale. Taip yra todėl, kad (1+1) + 2 + (3 + 3) + 4 = 14, kuris nesidalija iš 10. Tačiau pridėjus kontrolinį skaitmenį 6, gauta suma bus dalijama iš 10 ir todėl galioja pagal Luhno formulę .
Australijoje buvo bandoma naudoti kontrolinius skaitmenis antram tikslui – apriboti žmonių galimybę suklastoti galiojančius numerius mokesčių tikslais. Nepaisant vyriausybės pastangų išlaikyti kontrolinių skaitmenų algoritmą paslaptyje, žmonės sugebėjo tai išsiaiškinti ir toliau klastoti su mokesčiais susijusius numerius.