Kazalo:
Opredelitev - Kaj pomeni Luhnova formula?
Formula Luhn je preprosta formula za kontrolno vsoto, ki se uporablja pri potrjevanju različnih identifikacijskih številk, kot so številke kreditnih kartic, številke socialnega zavarovanja, številke IMEI in številne druge. Algoritem potrdi številko glede na vključeno ključno številko v samem številu, običajno zadnjo številko. Luhnova formula je zdaj v javnosti in se široko uporablja v različnih panogah in je določena v ISO / IEC 7812-1.
Luhnova formula je znana tudi kot Luhnov algoritem, modul 10 algoritem ali mod 10 algoritem.
Tehopedija razlaga Luhnovo formulo
Formulo Luhn je zasnoval Hans Peter Luhn, znanstvenik IBM, ki je leta 1954 vložil patent za formulo, ki je bil podeljen leta 1960. Formula ni bila zasnovana tako, da bi bila kriptografsko varna hash funkcija, temveč kot preprost način zaščita pred naključnimi napakami pri ustvarjanju edinstvenih identifikacijskih številk. Mnoge vladne agencije in zasebne ustanove so uporabile formulo za razlikovanje veljavnih številk od napačnih, napačnih ali preprosto lažnih številk.
Formula se uporablja za preverjanje niza števil s preverjanjem, da je vključena kontrolna številka pravilna. Ta kontrolna številka je običajno pritrjena na delno številko, da jo izpolnite.
Naslednji postopek je ustvarjanje kontrolne številke:
- Začenši od skrajne desne številke, podvojite vrednost vsake druge številke.
- Če je dobljeni izdelek iz prvega koraka nad 9, dodajte obe števki (npr. 5 × 3 = 15, 1 + 5 = 6). Če je rezultat 9 ali manj, obdržite številko.
- Vzemite vsoto vseh števk.
- Pomnožite vsoto z 9 in vzemite "modulo 10" vsote; rezultat je kontrolna številka.
Primer: Številčna serija 927638965
9 |
2 |
7 |
6 |
3 |
8 |
9 |
6 |
5 je kontrolna številka |
9 |
4 |
7 |
12 |
3 |
16 |
9 |
12 |
|
9 |
4 |
7 |
3 |
3 |
7 |
9 |
3 |
vsota = 45; 45 × 9 = 405 (mod 10) = 5 |
Če želite preveriti, ali je številka veljavna, preprosto sledite algoritmu brez kontrolne številke, in če dobite enak rezultat kot kontrolna številka, potem je število veljavno po Luhnovi formuli. Vendar ta algoritem ni zelo zanesljiv in lahko zazna le večinoma enomestne napake in prenose sosednjih številk, razen prenosa dvomestnega zaporedja od 09 do 90. Zapletenejši algoritmi, kot sta algoritem Verhoeff in algoritem Damm, sta sposobna za odkrivanje več napak pri prepisovanju.