Modulo 97
A check digit algorithm that divides the number by 97 and verifies that the remainder equals 1; used in IBAN and other ISO standards.
The modulo 97 algorithm (also known as MOD-97-10 or ISO/IEC 7064) uses the prime number 97 as divisor to compute a two-digit control number. It's the foundation of IBAN verification and many European identifiers. How it works for IBAN: 1. Move the first 4 characters (country code + check digits) to the end of the string. 2. Convert each letter to a number (A=10, B=11 … Z=35). 3. Treat the result as a large integer. 4. Compute `number mod 97`. It must equal 1 for the IBAN to be valid. Why modulo 97: the prime 97 is close to 100 but isn't a divisor of powers of 10, maximizing error detection. It catches 100% of single-digit errors, 100% of adjacent transpositions, and most multiple errors — much more robust than modulo 10 or 11. Other standards using modulo 97: the SEPA Creditor Identifier, France's RIB code, extended IBANs for virtual accounts. Normadata implements the MOD-97-10 algorithm when validating IBANs, walking the integer in blocks to avoid overflow in languages without native BigInt.