A checksum is a value that represents the number of bits in a transmission message and is used by IT professionals to detect high-level errors within data transmissions. Prior to transmission, every piece of data or file can be assigned a checksum value after running a cryptographic hash function. The term checksum is also sometimes seen as a hash sum or hash value.
Checksums work by giving the party on the receiving end information about the transmission to make sure that the full range of data is fully delivered. The checksum value itself is typically a long string of letters and numbers that act as a sort of fingerprint for a file or set of files to indicate the number of bits included in the transmission.
If the checksum value calculated by the end-user is even slightly different from the original checksum value of the file, it can alert all parties in the transmission that the file was corrupted or tampered with by a third party. From there, the receiver can investigate what went wrong or try re-downloading the file.
The common protocols used to determine checksum numbers are the transmission control protocol (TCP) and the user diagram protocol (UDP). TCP is typically more reliable for tracking transmitted packets of data, but UDP may be beneficial to avoid slowing down transmission time.
What can cause an inconsistent checksum number
While checksum values that do not match can signal something went wrong during transmission, a few factors can cause this to happen, such as:
Common types of checksum algorithms
There are multiple cryptographic hash functions that programmers can use to generate checksum values. A few common ones include:
SHA-0 – This hash function was the first of its kind and it was withdrawn shortly after its creation in 1993.
SHA-1 – This hash function was no longer considered secure as of 2010.
SHA-2 (224, 256, 384, 512) – This family of hash functions rely on sounds and numbers to create a checksum value. The resultant checksums are vulnerable to length extension attacks, which involve a hacker reconstructing the internal state of a file by learning its hash digest.
MD5 – This hash function creates a checksum value, but each file will not necessarily have a unique number, so it is open to vulnerabilities if a hacker swaps out a file with the same checksum value.