Error-Detecting Codes (CRC)
Sender and receiver use an agreed upon generator polynomial G(x). The high and low order bits of G(x) are 1.
To compute a checksum for a frame with m bits (whose polynomial is M(x)), the frame must be longer than the generator poly.
Take the checksum and place it at the end of the frame so that the poly represented by the new frame (with checksums at the end of it) is divisible by G(x)