Cyclic Redundancy Checksum (CRC)

Cyclic Redundancy Check (CRC) is an error detection method that uses polynomial arithmetic to check data integrity. Here’s a summary of how CRC works and an example calculation.

CRC Process

  1. Representation: Treat the data packet as a polynomial.
  2. Division: Divide this polynomial by a generating polynomial using polynomial arithmetic.
  3. Remainder: Append the remainder of this division to the end of the message.
  4. Verification: The receiver performs the same division with the appended message. If the remainder is zero, the message is error-free.

CRC Flow invert_B

Example Calculation with Polynomial

Step-by-Step Example

Data Polynomial: (binary representation, which corresponds to )

Generator Polynomial: (binary representation )

  1. Append Zeros: Append 3 zeros to the data polynomial, where 3 is the degree of the generator polynomial.

    • Extended Data Polynomial: becomes
  2. Division: Perform polynomial division of by .

    • Binary Division:

      1101000 ÷ 1011
      
    • Perform Division:

        1011 | 1101000
              1011
              ----
              01100
               1011
              ----
               0101
                1011
              ----
                 0100
      
    • Remainder: The result of the division is .

  3. Append Remainder: The remainder is appended to the original data polynomial.

    • Message with CRC: with remainder gives
  4. Verification: The receiver performs the same division with the appended message and checks if the remainder is zero.

    • If the remainder is zero, the data is correct. Otherwise, there was an error during transmission.

Summary

Error detection performance invert_B

  • CRC: Utilizes polynomial arithmetic for error detection.
  • Process: Involves polynomial division and appending the remainder.
  • Example: For data and generator polynomial , the remainder after division is .