This document describes how to implement a 32-bit CRC algorithm efficiently. By efficiently I mean about twice as fast as any previous algorithm that I have come across. I'm not necessarily implying that this is a world first.
This document explains a little of the maths, but although I understand it, I don't understand it well enough to explain it properly. This is a document for C hackers, not mathematicians. Flames from mathematicians will be forwarded to /dev/null.