أصبحت بطاقات الائتمان وسيلة دفع شائعة في حياتنا اليومية. ومع ذلك، ومع تزايد استخدام بطاقات الائتمان، تنشأ المشاكل أيضًا، وخاصة فيما يتعلق بتحديد مدى صحتها وتجنب الأخطاء. في هذا الوقت، أدى ظهور خوارزمية Luhn إلى ظهور خط دفاع قوي لنظام الدفع الخاص بنا.
خوارزمية لوهن، المعروفة أيضًا باسم خوارزمية modulo 10، تم اقتراحها في الأصل من قبل عالم IBM هانز بيتر لوهن في عام 1960. هذه صيغة حسابية بسيطة تستخدم للتحقق من صحة أنواع مختلفة من أرقام التعريف، وخاصة أرقام بطاقات الائتمان. تمت تحديد الخوارزمية في معيار ISO/IEC 7812-1 وهي معرفة متاحة للعامة.
تم تصميم هذه الخوارزمية لحماية المستخدمين من أخطاء الإدخال العرضية، وليس للحماية من الهجمات الضارة.
على سبيل المثال، إذا كان رقم الحساب 1789372997 (بدون رقم التحقق)، فيمكن حساب رقم التحقق باستخدام الخطوات التالية. أولاً، تتم معالجة كافة الأرقام، وأخيراً يمكن التحقق من القيمة المحسوبة لمعرفة ما إذا كانت تتطابق مع رقم الفحص الأصلي. يمكن أن يساعد هذا في التحقق بفعالية من صحة الرقم ومنع الأخطاء.
إن ميزة خوارزمية لوهن هي أنها تستطيع اكتشاف جميع الأخطاء الفردية، بالإضافة إلى جميع عمليات النقل للأرقام المتجاورة تقريبًا. على سبيل المثال، إذا كان هناك رقم واحد خاطئ، فسوف تتعرف عليه الخوارزمية على الفور. ومع ذلك، فإن الخوارزمية ليست فعالة ضد بعض أخطاء الإدخال المحددة، مثل نقل 09 و90.
أيضًا، على الرغم من أن خوارزمية Luhn يمكنها التعرف على معظم الأخطاء، إلا أن قدرتها على الكشف لا تزال أقل من خوارزميات المجموع الاختباري المعقدة الأخرى، مثل خوارزميات Verhoeff وDamm.
تعتبر خوارزمية لوهن ضرورية للغاية في عالمنا الرقمي. في المرة القادمة التي تستخدم فيها بطاقة الائتمان للدفع، هل ستفكر في كيفية حماية هذه الخوارزمية لأمنك؟