This preview shows page 1. Sign up to view the full content.
Unformatted text preview: tion program.
For network packet transmissions, typical sizes range between 40 bytes and perhaps
10000 bytes, and often packets are on the order of 1000 bytes. For such sizes, a more
effective error detection method is the cyclic redundancy check (CRC). CRCs work well
over shorter messages and are easy to implement in hardware using shift registers. For
these reasons, they are extremely popular.
1 Sometimes, the literature uses “checksums” to mean something different from a “CRC”, using checksums
for methods that involve the addition of groups of bits to produce the result, and CRCs for methods that
involve polynomial division. We use the term “checksum” to include both kinds of functions, which are both
applicable to random errors and not to insecure channels (unlike secure hash functions.
65521 is the largest prime smaller than 216 . It is not clear to what extent the primality of the modulus
matters, and some studies have shown that it doesn’t seem to matter much. 3 SECTION 7.2. CYCLIC REDUNDANCY CHECK 7.2 Cyclic Redundancy Check A CRC is an example of a block code, but it can operate on blocks of any size. Given
a message block of size k bits, it produces a compact digest of size r bits, where r is a
constant (typically between 8 and 32 bits in real implementations). Together, the k + r = n
bits constitute a code word. Every valid code word has a certain minimum Hamming
distance from every other valid code word to aid in error detection.
A CRC is an example of a polynomial code as well a...
View Full Document
This document was uploaded on 02/26/2014 for the course CS 6.02 at MIT.
- Fall '13