What are checksums and CRCs?
All file transfer protocols must contain a method for determining if the data has been corrupted in transmission. Checksums and Cyclical Redundancy Checks (CRC) are mathematical checks for ensuring the integrity of data. A file transfer protocol appends some type of check to the end of each packet of data. The receiver computes the same check on the received data. If the checks match, the data is accepted. Otherwise it must be retransmitted. A checksum basically adds the values of each byte of data in a packet. Checksums are only considered reliable with very small packet sizes. As packet sizes increase, the probability increases that multiple errors can occur and not be detected.A CRC is a more complicated calculation. Fortunately, calculating a CRC is not particularly computationally intensive and CRCs are much more reliable than checksums. The probability of multiple errors being undetected is practically zero. The ITU (which used to be known as the CCITT) recommends use of a 16-bit