Mokant internetu pakanka trijų dalykų: kortelės numerio, galiojimo datos ir CVV kodo. Daugelyje svetainių sistema akimirksniu parodo, ar numeris įvestas teisingai. Daug kas mano, kad tai sudėtingo tikrinimo rezultatas, bet iš tikrųjų pagrindinis triukas – visiškai elementari matematika.
Kreditinės kortelės numeriai nėra atsitiktiniai. Jie sukurti taip, kad būtų lengva patikrinti jų formalią galiojimo struktūrą. Tai leidžia aptikti rašymo klaidas dar prieš tikrąją banko autorizaciją.
Kas slepiasi po skaičiais: kortelių numerių logika
Kortelių numeriai turi aiškią struktūrą. Pavyzdžiui:
- VISA kortelės visada prasideda skaitmeniu 4.
- American Express – 34 arba 37.
- Mastercard paprastai turi 16 skaitmenų, VISA kartais – 13 arba 16.
Be šių atpažinimo ženklų yra ir papildoma apsauga – matematinis patikrinimas, leidžiantis nustatyti, ar numeris gali būti tikras.
Tam naudojamas Luhno algoritmas, sukurtas IBM inžinieriaus Hans Peter Luhn. Tai paprasta skaičiavimo procedūra, kurią galima atlikti net ant popieriaus.
Kaip veikia Luhno algoritmas (paprastas pavyzdys)
Paimkime išgalvotą 16 skaitmenų numerį:
3845 0732 7862 1263
Paskutinis skaitmuo 3 – kontrolinis skaitmuo. Jis tikrinamas pabaigoje.
1 žingsnis – dvigubinti kas antrą skaitmenį
Skaičiuojame nuo galo, pradedant nuo skaitmens prieš kontrolinį.
Jei dvigubintas skaičius tampa dviženklis, jo skaitmenys sudedami (pvz., 14 → 1+4=5).
Gauta seka galiausiai virs:
6 + 8 + 0 + 6 + 5 + 3 + 2 + 3 = 33
2 žingsnis – sudėti kitus skaitmenis
Tai visi likę skaičiai, prie kurių dvigubinimas netaikomas:
8 + 5 + 7 + 2 + 8 + 2 + 2 = 34
3 žingsnis – galutinis patikrinimas
Sudėkime tarpinį rezultatą ir kontrolinį skaitmenį:
33 + 34 = 67
67 + 3 = 70
Kadangi 70 dalijasi iš 10, numeris laikomas galiojančiu.
Tai nereiškia, kad kortelė aktyvi ar teisinga – tik kad numeris matematiškai „įmanomas“.

Ko Luhno algoritmas nepasako
Šis metodas turi ribų:
- neatpažįsta transponavimo klaidų, kai 09 sukeičiamas į 90;
- neaptinka dvynių klaidų, kai 22 pavirsta į 55 ar 33 į 66;
- nesuteikia jokios informacijos apie tai, ar kortelė užblokuota, pavogta ar nebegalioja.
Tai tik struktūrinis testas, o ne tikslus kortelės patikrinimas.
Kodėl tai naudinga žinoti
Luhno algoritmas leidžia internetinėms parduotuvėms labai greitai atmesti neteisingai įvestus numerius. Tai apsaugo ir jus: mažiau klaidų, mažiau frustracijos ir greitesnis mokėjimo procesas.
Matematika tyliai veikia fone – ir padeda mums atlikti kasdienes operacijas, kartais net nepastebint.

