Günlük Hayatımızda Matematik

Luhn Algoritması İle Kredi Kartınız Nasıl Doğrulanır?

Luhn Algoritması, kredi kartı numaralarının doğruluğunu kontrol etmenin basit, etkili ve matematiksel bir yoludur.

Ç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.

Hans Peter Luhn (1896-1964), bilgi yönetimi ve bilgisayar bilimi alanlarına önemli katkılarda bulunmuş bir Alman-Amerikan mühendis, mucit ve matematikçidir. Günümüzde en çok Luhn Algoritması ve otomatik bilgi işleme üzerine yaptığı çalışmalarla tanınmaktadır.

1950’lerde, kredi kartı numaraları ve Sosyal Güvenlik numaraları gibi çeşitli kimlik numaraları kamusal ve özel yaşamda önemli bir rol oynamaya başlıyordu. Ancak numaraları hatırlamak zordu ve yanlış yazılması veya kasıtlı olarak tahrif edilmesi olasıydı. İhtiyaç duyulan şey, bir kimlik numarasının geçerli olup olmadığını hızla doğrulamanın bir yoluydu. Buna bir çözüm, 1954 yılında IBM mühendisi Hans Peter Luhn tarafından geliştirildi.

Luhn’un çalışmaları, modern bilgi teknolojilerinin birçok yönünü şekillendirmiştir. Onun geliştirdiği yöntemler, özellikle kredi kartı doğrulama, arama motorları ve otomatik özetleme gibi alanlarda hâlâ aktif olarak kullanılmaktadır.

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 de Luhn Algoritması sayesinde olur.

Luhn Algoritması Nedir?

Tüm kredi ve banka kartlarının üzerinde genellikle 16 haneli basılı rakamlar yer alır. Bu rakamlar, bir kart için benzersiz bir hesap numarasını belirtir ve kartı veren kuruluş ve ilgili hesap hakkında bazı bilgileri saklar. Bu nedenle de belli bir modeli takip eder.

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

Tipik bir on altı haneli kredi kartı numarasında, ilk on beş hane ilgili banka tarafından belirlenmektedir. İlk haneler, kartın ait olduğu banka ve ödeme ağı hakkında bilgi verir. Örneğin, Visa kartları genellikle “4” ile, Mastercard kartları ise “5” ile başlar. Orta haneler, kart sahibine özel olan, rastgele oluşturulmuş bir dizi rakamdır.

Son hane ise doğrulama hanesi olarak da bilinmektedir. İşte bu hane, Luhn Algoritması tarafından belirlenir ve numaranın geçerli olup olmadığını kontrol etmek için kullanılır. Örneğin bir e-ticaret uygulaması bir kart numarasını doğrulamak zorunda kaldığında, geri kalan bilgiyi bankaya göndermeden önce bu son rakamı kontrol eder.

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

Algoritmanın işleyişi modüler aritmetik üzerine kuruludur. Luhn Algoritması, bir sayının mod 10 kontrolünden geçerek doğru olup olmadığını belirler. Algoritma matematiksel anlamda bir formüle sahip değildir. Bunun yerine bir dizi adımdan oluşur.

Bunun nasıl çalıştığını anlamak için gelin bir örnek yapalım. Öncelikle elimizde 16 haneli bir banka kartı olduğunu düşünelim. Diyelim ki kart numaranızın 15 hanesi 533361950371570 biçiminde olsun. Son haneyi ise x olarak kabul edelim. Şimdi en sağdaki basamaktan yani x’ten başlayarak her ikinci basamağın yani çift basamaklarda duyan 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.

Luhn Algoritması İle Kredi Kartınız Nasıl Doğrulanır?
Herhangi bir Kredi/Banka kartı için kontrol basamağını hesaplama örneği

Bir sonraki basamakta yapmanız gereken şey bütün sayıları toplamak olacaktır. Sonrasında da sonucuna bakacaksınız. Elde edilen toplam 48+x’tir, 10’a bölünebilir olmalıdır, ancak o zaman bu sayı geçerli bir kart numarasıdır. Bu durumda kontrol basamağındaki x rakamı 2 olmalıdır. Sonucunda 48+2 = 50 olduğu için toplam 10 sayısına bölünebilecektir.

Luhn Algoritması Nerede Kullanılıyor?

Luhn Algoritması, kart numaralarının geçerliliğini hızlıca kontrol etmenin basit bir yoludur. Hem insanlar tarafından elle hem de bilgisayarlar tarafından kolayca uygulanabilir. Kredi kartı dolandırıcılığında rastgele oluşturulan numaralar sıkça kullanılır. Luhn Algoritması, rastgele oluşturulan bu numaraların büyük çoğunluğunu hemen eler.

luhn algoritması
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.

Ancak elbette bu algoritmanın da bazı sınırlamaları vardır. Örneğin yalnızca sayısal verilere uygulanır ve harf veya sembol içeren verileri doğrulamak için kullanılamaz. Verilerin kasıtlı olarak değiştirilip değiştirilmediğini tespit edemez veya verilerin hangi kısmının yanlış olduğunu belirleyemez.

Ayrıca, algoritma iyi bilinen, standart bir yöntemdir ve algoritma hakkında bilgisi olan herkes Luhn kontrolünden geçen sayılar üretebilir. Bu öngörülebilirlik, daha yüksek düzeyde güvenliğin gerekli olduğu durumlarda bir dezavantaj olabilir.

Bu sınırlamalara rağmen, ç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.


Kaynaklar ve ileri okumalar:


Size Bir Mesajımız Var!

Matematiksel, matematiğe karşı duyulan önyargıyı azaltmak ve ilgiyi arttırmak amacıyla kurulmuş bir platformdur. Sitemizde, öncelikli olarak matematik ile ilgili yazılar yer almaktadır. Ancak, bilimin bütünsel yapısı itibari ile diğer bilim dalları ile ilgili konular da ilerleyen yıllarda sitemize dahil edilmiştir. Bu sitenin tek kazancı sizlere göstermek zorunda kaldığımız reklamlardır. Yüksek okunurluk düzeyine sahip bir web sitesi barındırmak ne yazık ki günümüzde oldukça masraflıdır. Bu konuda bizi anlayacağınızı umuyoruz. Ayrıca yazımızı paylaşarak da büyümemize destek olabilirsiniz. Matematik ile kalalım, bilim ile kalalım.

Matematiksel

Sibel Çağlar

Temel eğitimimi Kadıköy Anadolu Lisesinde tamamladım. Devamında Marmara Üniversitesi İngilizce Matematik Öğretmenliği bölümünü bitirdim. Çeşitli özel okullarda edindiğim öğretmenlik deneyiminin ardından matematiksel.org web sitesini kurdum. O günden bugüne içerik üretmeye devam ediyorum.

İlgili Yazılar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir