Što su kontrolne znamenke?

Kontrolna znamenka sastavni je dio metode otkrivanja pogreške. Može se odnositi na jednu od dvije stvari – stvarnu znamenku, povezanu s višeznamenkastim brojem, koja predstavlja je li taj višeznamenkasti broj točan ili ne. Alternativno, kontrolna znamenka se odnosi na mjeru koja se koristi za testiranje točnosti zbirke ili bloka podataka, za razliku od jednog broja. U svakom slučaju, proces ove vrste provjere redundancije može se nazvati izračunom kontrolne znamenke ili algoritamom kontrolne znamenke. Metoda kontrolne znamenke može imati mnogo različitih pristupa i koristi se na međunarodnoj razini u mnoge različite svrhe. Neki uobičajeni sustavi numeriranja ili kodiranja koji koriste kontrolne znamenke uključuju, između ostalog, Univerzalni kod proizvoda (UPC) i Međunarodni standardni broj knjige (ISBN).

Kontrolna znamenka je dizajnirana da uhvati određene vrste pogrešaka uobičajenih pri unosu podataka, bilo da je te podatke pročitala i unijela ista osoba na tipkovnici ili telefonskoj tipkovnici, ili je podatke pročitala jedna osoba, a unijela druga. Najčešća pogreška pri unosu podataka u tom pogledu je jednostavno unošenje jedne znamenke pogrešno. To čini između 60 i 95 posto svih pogrešaka u podacima. Izjednačeni za drugi su izostavljanje ili dodavanje jedne znamenke s jedne strane i transponiranje susjednih znamenki s druge strane. Ostale pogreške koje su moguće, ali se javljaju s daleko manjom učestalošću, uključuju promjenu redoslijeda od tri znamenke tako da se 123 unese kao 321, na primjer; i fonetske pogreške, brkajući 16 i 60.

Provjerne znamenke se zapravo mogu dodati broju koji bi trebali provjeriti. U identifikacijskom broju vozila (VIN), koji ima 17 znakova, kontrolna znamenka je na devetoj poziciji. U 13-znamenkastom ISBN broju, s druge strane, provjerna znamenka se pojavljuje na kraju, kao 13. broj.

Postoji nekoliko različitih algoritama koji se obično koriste za izračunavanje kontrolnih znamenki, a isti se algoritam ne koristi uvijek za istu svrhu na međunarodnoj razini. Na primjer, algoritam koji je razvio i dobio ime po znanstveniku Hansu Peteru Luhnu, također nazvan Mod 10, formula je koja se koristi u Sjedinjenim Državama za brojeve kreditnih i debitnih kartica i u Kanadi za provjeru autentičnosti broja socijalnog osiguranja (SIN). Luhnov algoritam se također koristi za međunarodne crtične kodove (EAN13), dok se druga formula, Mod11, koristi za neke crtične kodove u Njemačkoj i za porezne brojeve (TFN) u Australiji.

Luhnova formula stavlja kontrolnu znamenku na kraj broja koji potvrđuje. S desna na lijevo, uključujući kontrolnu znamenku, svaka druga znamenka se udvostručuje. Ako bilo koja od udvostručenih znamenki postane višeznamenkast broj, tada se pojedinačni brojevi tih višeznamenkastih brojeva zbrajaju. Preostali brojevi se zbrajaju. Ako je dobiveni zbroj djeljiv s 10, tada je višeznamenkasti broj valjan prema Luhnovoj formuli. Ako rezultirajući zbroj nije djeljiv s 10, dodaje se kontrolna znamenka koja će rezultirati zbroj učiniti djeljivim s 10. Dakle, ako je broj za provjeru valjanosti 1234, ne bi bio valjan bez kontrolne znamenke od 6 koja je pričvršćena na kraju. To je zato što (1+1) + 2 + (3 + 3) + 4 = 14 što nije djeljivo s 10. Međutim, dodavanjem kontrolne znamenke od 6 rezultirat će zbroj djeljiv s 10 i stoga valjan prema Luhnovoj formuli .
U Australiji je došlo do pokušaja korištenja kontrolnih znamenki za drugu svrhu — da se ograniči mogućnost ljudi da lažiraju važeće brojeve u svrhu oporezivanja. Unatoč naporima vlade da algoritam kontrolnih znamenki zadrži u tajnosti, ljudi su to uspjeli shvatiti i nastavili krivotvoriti porezne brojeve.