4.5.4 Checksum
Another simple and widely used method of error detection is the checksum technique. In this approach, the binary values of all characters (or data words) in a message are summed as the data is transmitted. The checksum is typically defined as the least significant byte (or word) of this cumulative sum and is appended to the end of the message.
At the receiver, the same summation process is performed on the received data. The receiver then compares its locally computed sum (or its computed checksum) with the transmitted checksum. If the two values do not agree, an error is assumed to have occurred during transmission and the receiver generally requests that the entire message be retransmitted.
The checksum provides a simple and computationally inexpensive means of detecting many common error patterns, including most single-bit errors and numerous burst errors. Its effectiveness arises because any alteration in the transmitted data changes the arithmetic sum with high probability.
However, several limitations exist:
- Certain structured error patterns may leave the checksum unchanged (for example, two equal and opposite numerical errors within different words).
- The method is insensitive to permutations of words or bytes, because addition is commutative.
- Its minimum distance is not fixed and depends on the specific addition rule used.
For these reasons, checksums are widely used in low-level protocols and transport mechanisms where speed and simplicity are priorities (e.g., memory blocks, storage devices, legacy links). In higher-reliability systems—such as data networks, storage networks, and communication links requiring strong integrity protection—checksums are often supplemented or replaced by more powerful error-detection methods, most notably cyclic redundancy checks (CRC) which are discussed in Section 4.5.10.2
Back to reading