Unformatted text preview: he receiver computes the same hash over the presumptive message bits
and compares the result with the presumptive hash it has decoded. If the results disagree,
then clearly there has been some unrecoverable error, and the message is discarded. If
the results agree, then the receiver believes the message to be correct. Note that if the results agree, the receiver can only believe the message to be correct; it is certainly possible
(though, for good detection schemes, unlikely) for two different message bit sequences to
have the same hash.
The topic of this lecture is the design of appropriate error detection hash functions. The
design depends on the errors we anticipate. If the errors are adversarial in nature, e.g.,
from a malicious party who can change the bits as they are sent over the channel, then
the hash function must guard against as many of the enormous number of different error
patterns that might occur. This task requires cryptographic protection, and is done in practice using schemes like SHA-1, the secure hash algorithm. We won’t study these in 6.02,
1 2 LECTURE 7. DETECTING BIT ERRORS focusing instead on non-malicious, random errors introduced when bits are sent over communication channels. The error detection hash functions in this case are typically called
checksums: they protect against certain random forms of bit errors, but are by no means the
method to use when communicating over an insecure channel. We will study two simple
checksum algorithms: the Adler-32 checksum and the Cyclic Redundancy Check (CRC).1...
View Full Document
This document was uploaded on 02/26/2014 for the course CS 6.02 at MIT.
- Fall '13