a method of calculating a cyclic redundancy check value for a multi - bit input data word , using a defined generator polynomial is disclosed . the method includes the steps of : serially shifting at least a portion of the input data word into a register ; xoring the contents of the register with the generator polynomial if the lsb of the register is ‘ 1 ’; shifting the contents of the register right by one position ; shifting into the msb position of the register a new bit of the input data word , having been xored with the lsb of the register ; repeating the previous step for all message data bits ; shifting into the register a number of ‘ 0 ’ s equal to the length of the generator polynomial ; reading from the register the calculated crc value . apparatus for performing the method is also disclosed .