Skip to main content
Shilpashree Madhu
Associate III
February 12, 2022
Solved

What does the Expected CRC value mean in CRC, how to calculate it?

  • February 12, 2022
  • 2 replies
  • 1457 views

..

This topic has been closed for replies.
Best answer by Tesla DeLorean

Think of a CRC as doing a LONG DIVISION in school, the polynomial is the divisor, and the data stream the dividend, the "Expected CRC" is the REMAINDER from the whole computation.

Also as a consequence of this, if you tack the "Expected CRC" on the END, and complete the computation the remainder with drop to ZERO, as it now "divides" perfectly.

EXPECTED_CRC = DATA % POLYNOMIAL

(DATA + EXPECTED_CRC) / POLYNOMIAL == 0, where data is unmodified / as expected

Math done in the Galois / FInite Field

https://en.wikipedia.org/wiki/Finite_field

2 replies

Piranha
Principal III
February 12, 2022

The expected CRC value is the one transferred together with the data from the source. The calculated CRC value is the one calculated from the received data at the destination. Compare both at the destination to determine if the data has been corrupted during the transfer.

Tesla DeLorean
Tesla DeLoreanBest answer
Guru
February 12, 2022

Think of a CRC as doing a LONG DIVISION in school, the polynomial is the divisor, and the data stream the dividend, the "Expected CRC" is the REMAINDER from the whole computation.

Also as a consequence of this, if you tack the "Expected CRC" on the END, and complete the computation the remainder with drop to ZERO, as it now "divides" perfectly.

EXPECTED_CRC = DATA % POLYNOMIAL

(DATA + EXPECTED_CRC) / POLYNOMIAL == 0, where data is unmodified / as expected

Math done in the Galois / FInite Field

https://en.wikipedia.org/wiki/Finite_field

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..