Check digit
A check digit is a form of redundancy check used for error detection on identification numbers (e.g. bank account numbers) which have been input manually. It is analogous to a binary parity bit used to check for errors in computer-generated data. It consists of a single digit (sometimes more than one) computed by an algorithm from the other digits (or letters) in the sequence input.
With a check digit, one can detect simple errors in the input of a series of characters (usually digits) such as a single mistyped digit or some permutations of two successive digits.
Design
Check digit algorithms are generally designed to capture human transcription errors. In order of complexity, these include the following:
single digit errors, such as 1 → 2
transposition errors, such as 12 → 21
twin errors, such as 11 → 22
jump transpositions errors, such as 132 → 231
jump twin errors, such as 131 → 232
phonetic errors, such as 60 → 16 ("sixty" to "sixteen")
In choosing a system, a high probability of catching errors is traded off against implementation difficulty; simple check digit systems are easily understood and implemented by humans but do not catch as many errors as complex ones, which require sophisticated programs to implement.