Reverse Engineering Cyclic Redundancy Codes

Reverse Engineering Cyclic Redundancy Codes

A CRC is a type of code designed to add redundancy to a message in such a way that many transmission errors can be detected. For example, to calculate a trivial 2-bit CRC of the message string 1101 with the generator polynomial 11, we first append 00 to the message to get 110100, then divide to get a quotient of 10011 and a (2-bit) remainder of 01. [Thomas] had collected the IDs and checksums from a number of tags, four of which are shown here:

To execute the search, the reveng program is invoked with the ‘-s’ switch, and in this case, the known size of the CRC,  ‘-w 16’.

Source: hackaday.com