A sender transmits a data frame with its CRC appended. The receiver performs polynomial division on the entire received message and gets a remainder of zero. What can be concluded?
AThe data was received without any bit errors — the transmission was perfect
BNo errors were introduced that are detectable by the chosen generator polynomial
CThe CRC check passed, so the receiver should request a retransmission to confirm
DA zero remainder means the CRC was lost in transit and must be re-requested
A zero remainder means the received message passed the CRC check — but CRC cannot detect every possible error pattern. If the pattern of bit flips happens to be divisible by the generator polynomial (an astronomically unlikely but nonzero probability), the remainder will still be zero despite corruption. So the correct statement is 'no detectable errors,' not 'no errors.' Option 0 overclaims the guarantee. CRC is error detection, not error correction, so retransmission is triggered only on a nonzero remainder, making options 2 and 3 incorrect.
Question 2 Multiple Choice
Why does CRC catch burst errors far more reliably than a simple additive byte checksum?
ACRC uses more bits than most checksums, so it has statistically more coverage
BThe algebraic properties of polynomial division over GF(2) guarantee detection of all burst errors shorter than the CRC degree, regardless of their position in the data
CCRC recalculates a hash of the full message, while checksums only compare individual byte values
DCRC can correct burst errors once detected, which is why it catches more than checksums
The advantage is mathematical, not just quantitative. Polynomial division over GF(2) (binary XOR arithmetic) has provable properties: any burst error shorter than the degree of the generator polynomial produces a nonzero remainder. This is a theorem about polynomial algebra, not a statistical approximation. A simple additive checksum can miss burst errors because reordering or swapping corrupted bytes can still sum to the same total. Option 0 is partially true but misses the algebraic guarantee. Option 3 is false — CRC is detection-only.
Question 3 True / False
CRC is implemented efficiently in hardware using shift registers with XOR feedback taps, allowing it to process data at wire speed without requiring division circuits.
TTrue
FFalse
Answer: True
Polynomial division over GF(2) maps directly onto a linear feedback shift register (LFSR): each incoming bit shifts through the register, and XOR operations at tap positions implement the modular reduction by the generator polynomial. This requires only shift and XOR operations — no multiplier or divider hardware. Ethernet NICs compute CRC-32 over every frame at full line rate using this hardware implementation. The mathematical description (polynomial division) sounds expensive but the hardware realization is extremely simple.
Question 4 True / False
CRC detects most possible bit error patterns in a transmitted frame, making it a complete and sufficient error-detection scheme.
TTrue
FFalse
Answer: False
No finite-length error-detection code can catch every possible error pattern. CRC has a residual undetected error probability: if the error pattern is itself divisible by the generator polynomial, the remainder is zero and the error goes undetected. For CRC-32 with well-chosen generators, this probability is approximately 1/2³² ≈ 2.3×10⁻¹⁰ per frame — negligibly small for most purposes, but not zero. CRC provides strong probabilistic error detection, not absolute detection. For critical applications, additional mechanisms (sequence numbers, higher-layer checksums, or cryptographic MACs) are used alongside CRC.
Question 5 Short Answer
Why does the choice of generator polynomial matter for a CRC scheme's error-detection capability?
Think about your answer, then reveal below.
Model answer: The generator polynomial's algebraic structure determines which error patterns CRC can guarantee to detect. A polynomial that includes (x+1) as a factor ensures all odd numbers of bit errors are detected. The polynomial's degree sets the maximum burst error length that is guaranteed to be caught. Different polynomials have different detection profiles for common error types (single-bit, double-bit, burst). Standardized polynomials like CRC-32 were chosen by exhaustive mathematical analysis to maximize detection probability across all error classes for the expected frame sizes and bit error rates of their target protocols — an arbitrary polynomial could systematically miss entire categories of common errors.
This is why you cannot simply pick any polynomial of the right degree. The mathematical properties — reducibility, primitive vs. non-primitive, presence of specific factors — directly translate into guarantees about which errors are detectable. Protocol designers invest significant effort in selecting generator polynomials that are optimally matched to the error statistics of their target physical medium.