I'm looking to understand the use of a Cyclic Redundancy Check, in combination with the mathematics behind it.
So far I have
1) For any message $$M(x)\cdot x^n = Q(x)G(x) + R(x)$$ Where $Q(x)$ is the discarded quotient, $G(x)$ is a predetermined _generator and $R(x)$ is the remainder. Or more succinctly, we can divide our message by any arbitrary generator and generate a quotient and remainder.
2) By doing modulo-2 division, we can find $R(x)$ which is effectively the operation $$R(x) = M(x)\cdot x^n\mod G(x)$$ 3) Finally $R(x)$ is appended to $M(x)$ to create the transmitted message.
Everywhere I read, it stated that this appendation is equivalent to $M(x)\cdot x^n - R(x) = Q(x)G(x)$, which, at the receiving end when again divided by generator $G(x)$, will give a remainder zero.
However I can't anywhere find this equivalency shown anywhere! Could somebody please demonstrate/show why appending $R(x)$ to the end of $M(x)$ has this equivalence?
Thanks very much!
EDIT
In the link provided by in the comment - I see how this both overviews how CRC checking works, and how a receiver decodes using a CRC-16 code. However it doesn't enlighten me on how it can be guaranteed that adding the remainder to the message guarantees the transmission (if correct) is a factor of the generator, as I have described above.