Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Identification Numbers and Check
Digit Schemes: Using Abstract
Algebra in Your High School
Mathematics Class
Joseph Kirtland
Department of Mathematics
Marist College
Check Digit Schemes
• Goal: To catch errors when identification
numbers are transmitted.
• Append an extra digit using mathematical
methods.
• There are schemes that append two or more
digits...error correcting schemes.
Common Error Patterns
Error Type
Form
Relative Freq.
single digit error
a→b
79.1%
trans. adj. digits
ab → ba
10.2%
abc → cba
0.8%
aa → bb
0.5%
phonetic error
a0 ↔ 1a
a = 2, . . . , 9
0.5%
jump twin error
aca → bcb
0.3%
jump trans.
twin error
Modular Arithmetic
x (mod n ) = r where r is the remainder when x
is divided by n (n is a positive integer and
0 ≤ r ≤ n-1).
x = y (mod n) if x and y have the same
remainder when divided by n.
Modular Arithmetic
• 51 (mod 9) = 6
• 213 (mod 10) = 3
• 143 (mod 11) = 0
• 57 = 107 (mod 10)
• 3 = 43 (mod 10)
• 60 = 0 (mod 10)
(51=5•9+6)
(213=21•10+3)
(143=13•11+0)
US Postal Money Order
US Postal Money Order
General Form: a1a2a3a4a5a6a7a8a9a10a11
a11 = (a1+ a2+ a3+ a4+ a5+ a6+ a7+ a8+ a9 + a10) (mod 9)
Specific Number: 67021200988
8 = (6 + 7 + 0 + 2 + 1 + 2 + 0 + 0 + 9 + 8) (mod 9)
= 35 (mod 9)
=8
Detection Rate
# of ways error is detected
dr
# of ways to make error
• Single digit error (a → b): 10 choices for
a and 9 choices for b resulting in 90 possible
ways.
• Transposition error (ab → ba): 10
choices for a and 9 choices for b resulting in
90 possible ways.
US Postal Money Order
a11 = (a1+ a2+ a3+ a4+ a5+ a6+ a7+ a8+ a9 + a10) (mod 9)
US Postal Money Order
a11 = (a1+ a2+ a3+ a4+ a5+ a6+ a7+ a8+ a9 + a10) (mod 9)
Single Digit Errors:
88
dr
98%
90
US Postal Money Order
a11 = (a1+ a2+ a3+ a4+ a5+ a6+ a7+ a8+ a9 + a10) (mod 9)
Single Digit Errors:
88
dr
98%
90
Transposition Errors:
0
dr
0%
90
UPC and EAN
UPC Version A
General Form: a1-a2a3a4a5a6-a7a8a9a10a11-a12
a1 - number system char. // a2a3a4a5a6 - company //
a7a8a9a10a11 - product // a12 - check digit
3a1+a2+3a3+a4+3a5+a6+3a7+a8+3a9+a10+3a11+a12 = 0 (mod 10)
Specific Number: 0-53600-10054-0
30+5+33+6+30+0+31+0+30+5+34+0 = 0 (mod 10)
40 = 0 (mod 10)
UPC Scheme – Single Digit Errors
…a… → …b…
c + 3a = 0 (mod 10) & c + 3b = 0 (mod 10)
(c + 3a) – (c + 3b) = 0 (mod 10)
3a – 3b = 0 (mod 10)
3(a – b) = 0 (mod 10)
a – b = 0 (mod 10)
a=b
UPC Scheme – Transposition Errors
…ab… → …ba…
c +3a+b = 0 (mod 10) & c+3b+a = 0 (mod 10)
(c + 3a + b) – (c + 3b + a) = 0 (mod 10)
3a + b – 3b – a = 0 (mod 10)
2a – 2b = 0 (mod 10)
2(a – b) = 0 (mod 10)
Undetected when |a – b| = 5
UPC Scheme
Single Digit Errors:
90
dr
100%
90
Transposition Errors:
80
dr
89%
90
IBM Scheme
Permutations
S10
- permutations of the set {0, 1, 2, …, 9}
- one-to-one & onto mappings
0 1 2 3 4 5 6 7 8 9
4 3 9 1 2 7 0 5 8 6
(0, 4, 2, 9, 6)(1, 3)(5, 7)(8)
IBM Scheme
General Form: a1a2a3 . . . an-1an
= (0)(1, 2, 4, 8, 7, 5)(3,6)(9)
n-even:
(a1) + a2 + (a3) + a4 + . . . + (an-1) + an = 0 (mod 10)
n-odd:
a1 + (a2) + a3 + (a4) + . . . + (an-1) + an = 0 (mod 10)
IBM Scheme
Specific Number: 00001324136 9
(0)+0+(0)+0+(1)+3+(2)+4+(1)+3+(6)+9
= 0 (mod 10)
0+0+0 +0 +2+3 +4+4 +2+3 +3+9
= 0 (mod 10)
30 = 0 (mod 10)
IBM Scheme – Single Digit Errors
…a… → …b…
c + σ(a) = 0 (mod 10) & c + σ(b) = 0 (mod 10)
(c + σ(a)) – (c + σ(b)) = 0 (mod 10)
σ(a) – σ(b) = 0 (mod 10)
σ(a) – σ(b) = 0
σ(a) = σ(b)
a=b
IBM Scheme
Transposition Errors …ab… → …ba…
c+σ(a)+b = 0(mod 10) & c+σ(b)+a = 0 (mod 10)
(c + σ(a) + b) – (c + σ(b) + a) = 0 (mod 10)
σ(a) – σ(b) + b – a = 0 (mod 10)
σ(a) – a = σ(b) – b (mod 10)
σ designed so this will not occur unless
a = 0 and b = 9 or a = 9 and b = 0.
IBM Scheme
Single Digit Errors:
Transposition Errors:
90
dr
100%
90
88
dr
98%
90
Theorem (Gumm, 1985)
Suppose an error detecting scheme with an even
modulus detects all single digit errors. Then for
every i and j there is a transposition error
involving positions i and j that cannot be
detected.
International Standard Book Numbers
ISBN-10……ISBN-13………EAN-13
ISBN-10 Scheme
General Form: a1a2a3a4a5a6a7a8a9a10
a1... – group/country number
(0,1=English, 3=German, 9978=Ecuador)
ai…aj – publisher number
aj+1…a9 – serial number
a10 – check digit
ISBN-10 Scheme
10a1+9a2+8a3+7a4+6a5+5a6+4a7+3a8+2a9+a10
= 0 (mod 11)
Specific Number: 0-88385-720-0
100+98+88+73+68+ 55+ 47+ 32+ 20+ 0
= 0 (mod 11)
0 + 72+64 + 21+48 + 25 + 28 + 6 + 0 + 0
= 0 (mod 11)
264 = 0 (mod 11)
ISBN-10 Scheme?
• What if you need a 10?
ISBN-10 Scheme?
• What if you need a 10?
• X represents 10.
ISBN-10 Scheme?
• What if you need a 10?
• X represents 10.
• Does catch all single digit and transposition of
adjacent digit errors, but introduces a new
character.
Symmetries of the Pentagon
Symmetries of the Pentagon
A B C
B A E
Reflections
D
E
C
A
B
D E
D C
D
E
C
B
A
Symmetries of the Pentagon
A B C D E
D E A B C
Rotations
D
E
C
A
B
A
E
B
3
5
C
D
Symmetries of the Pentagon
D
C
E
E
D
C
A
B
3
5
C
B
A
D
A
B
C
D
B
E
D
C
A
B
E
A
E
Symmetries of the Pentagon
A
0
A
A
3
D
A
6
E
A
9
B
B C D E
A
1
B C D E
B
B C D E
A
4
E A B C
E
B C D E
A
7
D C B A
D
B C D E
A E D C
B C D E
A B
2
C D E A
C D
B C D E
A B
5
A B C D
A E
B C D E
A B
8
C B A E
C B
C D E
E A B
C D E
D C B
C D E
A E D
Symmetries of the Pentagon
8*3=5
3*8=6
NOT COMMUTATIVE!
The Multiplication Table of D5
*
0
1
2
3
4
5
6
7
8
9
0
1
2
3
0
1
2
3
1
2
3
4
2
3
4
0
3
4
0
1
4
0
1
2
5
6
7
8
6
7
8
9
7
8
9
5
8
9
5
6
9
5
6
7
4
5
6
4
5
6
0
9
5
1
8
9
2
7
8
3
6
7
9
0
1
5
4
0
6
3
4
7
2
3
8
1
2
7
8
9
7
8
9
6
7
8
5
6
7
9
5
6
8
9
5
2
3
4
1
2
3
0
1
2
4
0
1
3
4
0
Verhoeff Scheme
General Form: a1a2a3 . . . an-1an
= (0)(1,4)(2,3)(5,6,7,8,9)
* = Group Operation D5
n-1(a1)*n-2(a2)*n-3(a3)* . . . *(an-1)*an = 0
(a)*b ≠ (b)*a - antisymmetric
= (0)(1,4)(2,3)(5,6,7,8,9)
German Bundesbank Scheme
AY7831976K1
German Bundesbank Scheme
General Form: a1a2a3 . . . a10a11
= (0,1,5,8,9,4,2,7)(3,6)
* = Group Operation D5
AD G K L N S U Y Z
01 2 3 4 5 6 7 8 9
(a1)*2(a2)*3(a3)* . . . *10(a10)*a11 = 0
German Bundesbank Scheme
This scheme has one major
problem…………………………………………
………what is it?
The Euro!
An Error Correcting Scheme
General Form: a1a2a3 . . . a9a10
a9 , a10 check digits
a1 + a2 + a3 + . . . + a9 + a10 = 0 (mod 11)
a1 + 2a2 + 3a3 + . . . + 9a9 + 10a10 = 0 (mod 11)
An Error Correcting Code
62150334a9a10
6+2+1+5+0+3+3+4+a9+a10 = 0 (mod 11)
24 +a9+a10 = 0 (mod 11)
2 +a9+a10 = 0 (mod 11)
16+22+31+45+50+63+73+84+9a9+10a10
= 0 (mod 11)
6 + 4 + 3 + 20 + 0 + 18+ 21 + 32+9a9+10a10
= 0 (mod 11)
104 +9a9+10a10 = 0 (mod 11)
5 +9a9+10a10 = 0 (mod 11)
An Error Correcting Code
6215033472 → 6218033472
6+2+1+8+0+3+3+4+7+2 = 0 (mod 11)
36 = 0 (mod 11)
3 = 0 (mod 11)
An Error Correcting Code
16+22+31+48+50+63+73+84+97+102
= 3i (mod 11)
6+4+3+32+0+18+21+32+63+20 = 3i (mod 11)
199 = 3i (mod 11)
1 = 3i (mod 11)
i=4
References
• Gallian, J.A., The Mathematics of Identification
Numbers, College Math Journal, 22(3), 1991,
194-202.
• Gallian, J. A., Error Detection Methods, ACM
Computing Surveys, 28(3), 1996, 504-517.
• Gumm, H. P., Encoding of Numbers to Detect
Typing Errors, Inter. J. Applied Eng. Educ., 2,
1986, 61-65.