- This article is about checksums calculated using addition. The term "checksum" is sometimes used in a more general sense to refer to any kind of redundancy check. Checksums on decimal numbers are discussed under check digit.
A checksum is a form of redundancy check, a very simple measure for protecting the integrity of data by detecting errors in data that is sent through space (telecommunications) or time (storage). It works by adding up the basic components of a message, typically the bytes, and storing the resulting value. Later, anyone can perform the same operation on the data, compare the result to the authentic checksum, and (assuming that the sums match) conclude that the message was probably not corrupted.
The simplest form of checksum, which simply adds up the bytes in the data, cannot detect a number of types of errors. In particular, such a checksum is not changed by:
- reordering of the bytes in the message
- inserting or deleting zero-valued bytes
- multiple errors that cancel
More sophisticated types of redundancy check, including Fletcher's checksum, Adler-32, and cyclic redundancy checks (CRCs), are designed to address these weaknesses by considering not only the value of each byte but also its position. The cost of the ability to detect more types of error is the increased complexity of computing the checksum.
These types of redundancy check are useful in detecting accidental modification such as corruption to stored data or errors in a communication channel. However, they provide no security against a malicious agent as their simple mathematical structure makes them trivial to circumvent. To provide this level of integrity, the use of cryptographic hash function algorithms such as SHA-1 or MD5 is necessary.
On UNIX there is a tool called "cksum" that generates both a 32 bit CRC and a byte count for any given input file.
- Jacksum (a program with various message verification functions)
- FSUM (A fast and handy command line utility for file integrity verification. It offers a choice of 13 of the most popular hash and checksum functions for file message digest and checksum calculation.)
- FastSum (The integrity verification solution based on MD5 checksums, that consists of both graphical and command line interfaces, Wizards, integrated with Microsoft Explorer.)