Much computer data is prone to errors, especially when
transmitted in space (or in time, as in data storage). The corresponding
need for error detection and correction has been recognised from
the very beginning of electrical computation. Error correction is a large
and complex subject which is just touched-on here, but error detection is a much simpler, but seldom discussed subject and is the main
emphasis of this chapter. After a brief mention of parity checks in
textual data transmission, the emphasis is on checksums for verifying
strings of decimal digits. Check-digit algorithms include the Luhn, those
used in ISBN codes, and the Verhoe and Damm checks, both based
on advanced number theory. The chapter concludes with discussion of
the more-powerful message checksums, especially those of Fletcher and
Adler, and the Cyclic Redundancy checks.
Keywords: Parity codes, Hamming codes, modular arithmetic,
Luhn checksum, ISBN checksum, Verhoe checksum, Damm checksum,
Fletcher checksum, Adler checksum, CRC checksums.