Luhn Algoritması nedir?

Çoğu kredi kartı ve banka kartı 16 hanelidir. Visa kartındaki ilk rakam 4, MasterCard’da 5 ve American Express’te 3’tür. Tüm bu kartlarda kart üzerindeki sayı dizisinin son rakamı kontrol numarasıdır. Check digit olarak isimlendirilen bu rakam, kredi kartı numarasının geçerli olup olmadığını kontrol etmektedir. Bu rakam Luhn Algoritması ile üretilmektedir.

Kredi kartı ile alışveriş yapmak istediğiniz zamanlarda bir çoğumuz kart numaramızı yanlış gireriz. Örneğin kart numaranızdaki 44371 yerine 44317 yazarsanız sistem sizden numaranızı tekrarlamanızı ister. Bu hatanın tespiti Luhn Algoritması sayesinde olur. Bir banka kartı numarasının geçerliliği için gerekli olan test, 1954’te IBM’de çalışan bir bilim insanı olan Hans Peter Luhn tarafından, çoğu insanın banka veya kredi kartı olmadan önce icat edildi.

Luhn Algoritması, kötü niyetli saldırılara karşı koruma sağlamak için değil, yanlışlıkla yapılan hatalara karşı koruma sağlamak için tasarlandı. Algoritmanın işleyişi, 19. yüzyılın başlarında Carl Friedrich Gauss tarafından geliştirilen matematiksel bir teknik olan modüler aritmetik üzerine kuruludur.

Luhn Algoritması Nasıl Çalışır?

Tipik bir 16 haneli kredi kartı numarasında, ilk 15 hane kartı veren banka tarafından belirlenmeketdir. Ancak kontrol basamağı olarak adlandırılan son hane, diğer tüm hanelere göre matematiksel olarak belirlenmektedir.

Bunun nasıl çalıştığını anlamak için gelin bir örnek yapalım. Öncelikle bir banka kartı numarasının 16 hanesini aralıklı olarak yazın. Sonucunda bu 16 haneyi 4 erli gruplara ayırdığımızda ve XY şeklinde gruplandırdığımızda görünümü X Y X Y X Y X Y X Y X Y X Y X Y biçiminde olacaktır. Şimdi diyelim ki kart numaranız 79927398713 biçiminde olsun. Şimdi en sağdaki basamaktan başlayarak, her ikinci basamağın yani X ile gösterdiğimiz sayıları iki ile çarpın.

Eğer iki basamaklı bir sayı elde ederseniz, yani sonucunuz 9’dan büyükse (ör., 6 × 2 = 12), o zaman çarpım sonucunda elde ettiğiniz basamakları ayrı ayrı toplamalısınız. (ör., 12: 1 + 2 = 3, 15: 1 + 5 = 6 ).Sonucunuz aşağıdaki gibi olacaktır.

Bir sonraki basamakta yapmanız gereken şey ise aşağıdaki görselde de gördüğünüz gibi bütün sayıları toplamak olacaktır. Sonrasında da sonucuna bakacaksınız. Eğer elde ettiğiniz sonucun son basamağı sıfır ise kredi kartınız sorunsuz çalışacaktır. Verdiğimiz örneğimizde toplam, 10 sayısının bir katı olan 70 olduğundan, hesap numarası muhtemelen geçerlidir.

Luhn Algoritması Nerede Kullanılıyor?

Fark ettiğiniz gibi oldukça basit bir algoritma olan Luhn algoritması daha evvelde dediğimiz gibi kökenlerini modüler matematikten alır. Bu nedenle “mod 10” algoritması olarak da bilinmektedir. Günümüzde Luhn Algoritması popüler programlama dillerine ve kod kitaplıklarına entegre edilmiştir. Bu da Luhn tabanlı kimlik numarası doğrulamasını yeni yazılım uygulamalarına dahil etmeyi kolaylaştırır. Bunun sonucunda Luhn algoritması Mastercard, American Express, Visa ve diğer tüm kredi kartları tarafından kullanılmaktadır.

Kredi kartı numaralarına ek olarak, bu algoritma aynı zamanda SIM kart numaralarındaki kontrol basamağını hesaplamak için de kullanılmaktadır. İşin en güzel tarafı tüm bunlar siz farkında olmadan arka planda olup biter. Çevrimiçi sipariş verirken veya bir satıcının satış noktası (POS) terminalini kullanırken, bilgisayar sistemleri bilgilerimizi girerken arka planda matematik bizim için çalışmaya devam eder. Sonucunda bunu bilmek bile güzel birşey.

Bir Cevap Yazın

Previous post Vicdan hürriyeti ne demektir?
Next post NASA 50 yıl sonra neden yeniden Ay’a gidiyor?
Close

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 259 other subscribers
%d