Skip to main content
Shilpashree Madhu
Associate III
Feb 12, 2022 7:59 AM UTC
Solved

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

..

This topic has been closed for replies.
Tesla DeLorean
Tesla DeLoreanBest answer
Guru
Feb 12, 2022 2:03 PM UTC

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 Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..

2 replies

Piranha
Principal III
Feb 12, 2022 1:55 PM UTC

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
Feb 12, 2022 2:03 PM UTC

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 Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..