Jump to content

Talk:Luhn mod N algorithm

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Problems if N is odd

While implementing this algorithm, I noticed an interesting property for odd N:

Consider the case of base-9. For doubled positions, this occurs:

Original digit Doubled Reduced
0 0 (009) 0
1 2 (029) 2
2 4 (049) 4
3 6 (069) 6
4 8 (089) 8
5 10 (119) 2
6 12 (139) 4
7 14 (159) 6
8 16 (179) 8

This means that, for base-9, e.g. both '1' and '5' in doubled positions are equivalent. This has the following consequences for odd N:

  • The algorithm cannot detect all single-digit errors; "17" and "57" both have valid check digits for _sum_ ≡ 0 (mod 9)
  • If it is necessary to have the computed value be in a "doubled" position, it is not be possible to obtain the required modulo sum for all input cases.

Stevie-O (talk) 13:48, 30 May 2019 (UTC)[reply]