Luhn Algoritması, kredi kartı numaralarının doğruluğunu kontrol etmenin basit, etkili ve matematiksel bir yoludur.
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.
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 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.
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.
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:
- Luhn Algorithm: Uses in Identity Verification for Credit Cards?; Yayınlanma tarihi: Kaynak site: Investopia. Bağlantı: Luhn Algorithm: Uses in Identity Verification for Credit Cards/
- Stevens, Hallam. “Hans Peter Luhn and the birth of the hashing algorithm.” IEEE Spectrum 55 (2018): 44-49.
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