Sadržaj:
Definicija - Što znači Luhnova formula?
Luhnova formula jednostavna je formula za kontrolnu sumu koja se koristi prilikom provjere valjanosti različitih identifikacijskih brojeva poput brojeva kreditnih kartica, brojeva socijalnog osiguranja, IMEI brojeva i mnogih drugih. Algoritam potvrđuje broj u odnosu na uključenu kontrolnu znamenku u samom broju, obično zadnju znamenku. Luhnova formula sada je javna domena i naširoko se koristi u raznim industrijama i određena u ISO / IEC 7812-1.
Luhnova formula poznata je i kao Luhnov algoritam, algoritam modula 10 ili algoritam mod 10.
Tehopedia objašnjava Luhnovu formulu
Luhnovu formulu osmislio je Hans Peter Luhn, IBM znanstvenik, koji je 1954. podnio patent za formulu, dodijeljen 1960. Formula nije bila zamišljena kao kriptografski sigurna hash funkcija, već kao jednostavan način zaštiti se od slučajnih pogrešaka u stvaranju jedinstvenih identifikacijskih brojeva. Mnoge vladine agencije i privatne institucije koristile su formulu za razlikovanje valjanih brojeva od pogrešnih, pogrešnih ili jednostavno lažnih brojeva.
Formula se koristi za provjeru niza brojeva provjerom je li uključena kontrolna brojka ispravna. Ova se čekovna znamenka obično veže uz djelomični broj kako bi se popunila.
Sljedeći postupak je stvaranje kontrolne brojke:
- Polazeći od desne znamenke, udvostručite vrijednost svake druge znamenke.
- Ako je dobiveni proizvod iz prvog koraka iznad 9, dodajte dvije znamenke (npr., 5 × 3 = 15, 1 + 5 = 6). Ako je rezultat 9 ili manji, zadržite broj.
- Uzmi zbroj svih znamenki.
- Pomnožite zbroj sa 9 i uzmite "modulo 10" od zbroja; rezultat je kontrolna znamenka.
Primjer: Brojčana serija 927638965
9 |
2 |
7 |
6 |
3 |
8 |
9 |
6 |
5 je kontrolna znamenka |
9 |
4 |
7 |
12 |
3 |
16 |
9 |
12 |
|
9 |
4 |
7 |
3 |
3 |
7 |
9 |
3 |
zbroj = 45; 45 × 9 = 405 (mod 10) = 5 |
Da biste provjerili je li broj valjan, jednostavno slijedite algoritam isključujući kontrolnu znamenku, a ako se dobije isti rezultat kao kontrolna znamenka, tada je broj valjan prema Luhnovoj formuli. Međutim, ovaj algoritam nije baš pouzdan i može samo detektirati uglavnom jednocifrene pogreške i transpozicije susjednih brojeva, osim transpozicije dvoznamenkastog niza 09 do 90. Složeniji algoritmi poput algoritma Verhoeff i Damm algoritma su u stanju za otkrivanje više pogrešaka u prepisivanju.