Luhnin algoritmi on yksinkertainen tarkistussumman laskemiseen käytetty kaava, jota käytetään varmistamaan erilaisia tunnistenumeroita kuten luottokortti- ja IMEI-numeroita. Algoritmin loi IBM:n tutkija Hans Peter Luhn, joka jätti patenttihakemuksen algoritmista 6. tammikuuta 1954. Patentti myönnettiin 23. elokuuta 1960.

Algoritmi on public domainia, ja sitä käytetään tunnistamaan tahattomat numerosarjassa olevat virheet; algoritmia ei ole suunniteltu suojaamaan tahallista hyökkäystä vastaan.

Tarkistusnumeron laskeminen muokkaa

Algoritmi varmistaa numeronsarjan oikeellisuuden erityisen tarkistusnumeron avulla. Yleensä tarkistusnumero liitetään varsinaisen numerojonon perään, jolloin ne yhdessä muodostavat halutun numerosarjan.

Tarkistusnumero lasketaan seuraavasti:

  1. Alkaen oikealta vasemmalle, kerrotaan järjestyksessä parittomat luvut kahdella ja parilliset yhdellä
  2. Summataan saatujen tulojen yksittäiset numerot yhteen (16 => 1 + 6 = 7)
  3. Tarkistusnumero on kokonaisluku, joka pitää lisätä saatuun summaan, jotta se olisi tasan kymmenellä jaollinen
Numerosarja 2 6 0 5 3 1 7 9 3 1 1 3 8 3
Kerroin x2 x2 x2 x2 x2 x2 x2
Tulo 2 12 0 10 3 2 7 18 3 2 1 6 8 6
Summaus 2+ 1+2+ 0+ 1+0+ 3+ 2+ 7+ 1+8+ 3+ 2+ 1+ 6+ 8+ 6 =53

Tässä tapauksessa tarkistusnumero on seitsemän ja koko numerosarja 260531793113837.

Numerosarjan tarkistaminen muokkaa

Annettu numerosarja tarkistetaan seuraavasti:

  1. Alkaen oikealta vasemmalle, kerrotaan järjestyksessä parittomat luvut yhdellä ja parilliset kahdella
  2. Summataan saatujen tulojen yksittäiset numerot yhteen (16 => 1 + 6 = 7)
  3. Jos saatu summa on tasan jaollinen kymmenellä, numerosarja on todennäköisesti virheetön
Numerosarja 2 6 0 5 3 1 7 9 3 1 1 3 8 3 7
Kerroin x2 x2 x2 x2 x2 x2 x2
Tulo 2 12 0 10 3 2 7 18 3 2 1 6 8 6 7
Summaus 2+ 1+2+ 0+ 1+0+ 3+ 2+ 7+ 1+8+ 3+ 2+ 1+ 6+ 8+ 6+ 7 =60

Aiheesta muualla muokkaa

 
Käännös suomeksi
Tämä artikkeli tai sen osa on käännetty tai siihen on haettu tietoja muunkielisen Wikipedian artikkelista.