TUTORIAL TEXT ONLY:
A checksum can be used to verify the integrity of data prior to usage.
For example, a message may have a header that includes fields for
message length and checksum.
The message sender populates the message with data, a length and a
checksum. The message receiver, using the same checksum algorithm, can
then validate the message by computing a checksum and comparing it with
the stored value in the message.
A simple 8-bit checksum algorithm commonly
consists of summing the bytes of the message in an 8-bit counter and
inverting the bits of the final total. The inversion ensures a unique
checksum in the case where the data is all zero.
A Cyclic Redundancy Check (CRC) is an another error detection method. It
has a more complicated algorithm involving polynomial divison, but
produces more reliable results.