מה האלגוריתם של לון
אלגוריתם של Luhn הוא אלגוריתם המשמש לאימות מספר כרטיס אשראי או מספרים מזהים אחרים, כגון מספרי ביטוח לאומי. אלגוריתם הלוהן, המכונה גם נוסחת לוהן או מודולוס 10, בודק את סכום הספרות במספר הכרטיס ומציין אם הסכומים שווים לצפוי או אם יש שגיאה ברצף המספרים. לאחר עבודה דרך האלגוריתם, אם המודולוס הכולל 10 שווה לאפס, המספר תקף לפי שיטת Luhn.
אמנם ניתן להשתמש באלגוריתם לאימות מספרי זיהוי אחרים, אך לרוב זה קשור לאימות כרטיסי אשראי. האלגוריתם עובד עבור כל כרטיסי האשראי העיקריים.
פורץ את אלוהי לון
תהליך אימות כרטיסי האשראי מחייב עסקים וחברות כרטיסי אשראי להיות מסוגלים להצפין ולפענח מידע פיננסי רגיש אודות הכרטיס, המנפיק ומחזיק הכרטיס כמעט באופן מיידי. היקף עסקאות כרטיסי האשראי מסבך תהליך זה והחברות החברות בעסקות אלה מחפשות דרכים להגביל את כמות המשאבים הנדרשים כדי לאמת את העסקאות ככל יכולתן. אחת הדרכים שהם יכולים להאיץ את תהליך האימות היא להשתמש באלגוריתם של Luhn. אלגוריתם הלוהן מועיל במיוחד מכיוון שיותר עסקאות מבוצעות באופן מקוון, בהן קל יותר לבצע הפרות נתונים.
אלגוריתם הלוהן לא נועד להגן על אבטחת הצדדים המעורבים בעסקת כרטיסי אשראי ככל שהוא נועד לבדוק שגיאות שנעשו בהעברת מספרי כרטיסים. לדוגמה, בעל כרטיס יכול להקליד את הספרה השגויה בעת ביצוע רכישה באופן מקוון. במקום לעבור את כל תהליך האימות רק כדי לקבוע שהמספר הוזן בטעות, האלגוריתם בודק את הספרות מוקדם יותר בתהליך ומחזיר הודעת שגיאה אם משהו אינו תקין.
כדי לקבוע אם מספר כרטיס האשראי תקף, תחושב סכום כל הספרות, אך לא ספרת הסימון, כדי למצוא את ספרת היחידות. ההבדל בין ספרת היחידות של הסכום שהתקבל למספר עשר הוא ספרת הסימון המשוערת. אם ספרת הסימון המשוערת וספרת הסימון בפועל זהים אז הכרטיס עבר תוקף.
תולדות האלגוריתם של לון
אלגוריתם הנוסחה של LUHN פותח למעשה משנות השישים על ידי קבוצה של מתמטיקאים. לאחר תפיסתו, האלגוריתם אומץ לשימוש בתחילה על ידי חברות כרטיסי האשראי. עם זאת, מכיוון שהאלגוריתם נחשב לנחלת הכלל, כל אחד יכול, בתיאוריה, לגשת אליו ולהשתמש בו.
