checksums

Crack the code: Build a hardware CRC checksum engine!

DESCRIPTION:

In this problem I want to introduce to you the beautiful and complex world of finite field arithmetic. While the finer details of this mathematical concept demand an entire degree worth of material to be fully understood, it is far simpler to appreciate that contributions from this niche field of mathematics have enabled engineers to build a variety of tools in the category of error detection and correction.

These tools enable modern communication technologies to operate in a unforgiving and error inducing natural environment by allowing the sender to ensure that the receiver can detect any errors that got introduced during transmission (Parity, CRC) and maybe even correct a few of those errors without having to ask the sender to re-transmit (FEC). It may even allow the receiver to recover data that was entirely lost in the process (Erasure coding).

In this problem, we will limit ourselves to understanding how the CRC checksum may be implemented in hardware. Go through the below image to understand math fundamentals of the CRC checksum:

crc

Loading the interactive workspace...