Hawkynt

Modulo-97

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.

Properties

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

Security

Status: 🎓 Educational Only

No vulnerabilities are recorded for this implementation.

Notes

Documentation

References

Test vectors

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

← All algorithms