Kaj so kontrolne števke?

Kontrolna številka je sestavni del metode odkrivanja napak. Lahko se nanaša na eno od dveh stvari – dejansko številko, povezano z večmestno številko, ki predstavlja, ali je ta večmestna številka točna ali ne. Druga možnost je, da se kontrolna številka nanaša na ukrep, ki se uporablja za preverjanje točnosti zbirke ali bloka podatkov, v nasprotju z eno samo številko. Kakor koli že, se postopek te vrste preverjanja redundance lahko imenuje izračun kontrolnih števk ali algoritem kontrolnih števk. Metoda kontrolne števke ima lahko veliko različnih pristopov in se mednarodno uporablja za številne različne namene. Nekateri običajni sistemi številčenja ali kodiranja, ki uporabljajo kontrolne števke, med drugim vključujejo univerzalno kodo izdelka (UPC) in mednarodno standardno knjižno številko (ISBN).

Kontrolna številka je zasnovana tako, da zajame določene vrste napak, ki so pogoste pri vnosu podatkov, ne glede na to, ali je te podatke prebrala in vnesla ista oseba na tipkovnici ali telefonski tipkovnici ali pa je podatke prebrala ena oseba in jih vnesla druga. Najpogostejša napaka pri vnosu podatkov v zvezi s tem je napačen vnos ene števke. To predstavlja med 60 in 95 odstotkov vseh podatkovnih napak. Vezani za drugo so izpuščanje ali dodajanje ene števke na eni strani in prestavljanje sosednjih števk na drugi strani. Druge napake, ki so možne, vendar se pojavljajo veliko manj pogosto, vključujejo preobrat vrstnega reda treh števk, tako da je 123 na primer vneseno kot 321; in fonetične napake, ki zamenjujejo 16 in 60.

Kontrolne števke se lahko dejansko dodajo številki, ki naj bi jo preverili. V identifikacijski številki vozila (VIN), ki ima 17 znakov, je kontrolna številka na devetem mestu. Pri 13-mestni številki ISBN pa je kontrolna številka prikazana na koncu kot 13. številka.

Obstaja več različnih algoritmov, ki se običajno uporabljajo za izračun kontrolnih števk, isti algoritem pa se mednarodno ne uporablja vedno za isti namen. Na primer, algoritem, ki ga je razvil in poimenoval znanstvenik Hans Peter Luhn, imenovan tudi Mod 10, je formula, ki se uporablja v ZDA za številke kreditnih in debetnih kartic ter v Kanadi za preverjanje pristnosti številke socialnega zavarovanja (SIN). Luhnov algoritem se uporablja tudi za črtne kode mednarodne evropske številke artiklov (EAN13), medtem ko se druga formula Mod11 uporablja za nekatere črtne kode v Nemčiji in za davčne številke (TFN) v Avstraliji.

Luhnova formula prilepi kontrolno številko na koncu številke, ki jo preverja. Od desne proti levi, vključno s kontrolno številko, se vsaka druga številka podvoji. Če katera koli od podvojenih števk postane večmestna števila, se posamezne številke teh večmestnih številk seštejejo. Preostale številke se seštejejo. Če je nastala vsota deljiva z 10, potem je večmestno število veljavno po Luhnovi formuli. Če dobljena vsota ni deljiva z 10, se doda kontrolna številka, zaradi katere bo nastala vsota deljiva z 10. Torej, če je številka, ki jo je treba potrditi, 1234, ne bi bila veljavna brez kontrolne številke 6 na koncu. To je zato, ker (1+1) + 2 + (3 + 3) + 4 = 14, ki ni deljivo z 10. Če pa dodate kontrolno številko 6, bo nastala vsota deljiva z 10 in zato veljavna po Luhnovi formuli .
V Avstraliji so poskusili uporabiti kontrolne številke za drugi namen – omejiti zmožnost ljudi, da ponarejajo veljavne številke za davčne namene. Kljub prizadevanjem vlade, da bi algoritem kontrolnih številk ohranila tajnost, so ljudje to lahko ugotovili in še naprej ponarejali davčne številke.