Modulo-97 checksum algorithm used in IBAN (International Bank Account Number) validation per ISO 7064. Detects up to 99% of single-digit errors and all transposition errors. Uses mod-97-10 check digit calculation.
| Property | Value |
|---|---|
| Category | Checksums |
| Sub-category | Modular Arithmetic |
| Security status | 🎓 Educational Only |
| Complexity | Beginner |
| Inventor | ISO 7064 standard |
| Year | 1983 |
| Origin | Not specified |
| Source | algorithms/checksum/modulo.js |
Status: 🎓 Educational Only
No vulnerabilities are recorded for this implementation.
3 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — Simple digit sequence
Source: Modulo-97 calculation
| Field | Value |
|---|---|
input |
313233343536 |
expected |
48 |
Vector 2 — IBAN check digit validation
Source: Valid IBAN check digit
| Field | Value |
|---|---|
input |
3938 |
expected |
01 |
Vector 3 — Large digit sequence
Source: Modulo-97 overflow handling
| Field | Value |
|---|---|
input |
393939393939 |
expected |
1a |