Luhn (mod 10)
Check digit algorithm standardized in ISO/IEC 7812 that uses modulo 10 over an alternately weighted sum.
The Luhn algorithm — also known as modulo 10 — was patented by Hans Peter Luhn (IBM) in 1960 and is now public domain. It's the most widely used checksum in the world: credit cards (Visa, Mastercard, Amex), phone IMEIs, Canadian SSNs, and many banking identifiers. How it works: 1. Walk the digits from right to left. 2. Double every second digit; if the result is ≥10, sum its digits (or subtract 9). 3. Sum all the resulting values. 4. The total must be a multiple of 10. The check digit is the value that closes that congruence. Advantages: simple, fast, catches 100% of single-digit errors and 100% of adjacent transpositions except `09`↔`90`. Limitations: doesn't catch non-adjacent transpositions or two-digit changes that preserve the sum. For identifiers requiring stronger robustness (international bank accounts), modulo 97 (IBAN) or modulo 11 are preferred. In Latin America, Luhn appears in Argentina's CBU and CVU (with specific weights) and in many banking cards. Normadata implements Luhn wherever the identifier's specification calls for it.