This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi expert,
Customer would like to know the polynomial we used in MCRC module when CRC type is select CRC8, CRC16 and CRC32.
Since there are many options as indicated on https://en.wikipedia.org/wiki/Cyclic_redundancy_check
Is it possible to provide a table to show we how to calculate each type of CRC?
Regards
Andre
Hi Andre,
Thanks for reaching out. I'll have to double check with a fellow expert. In the meantime, can you look at the polynomial from the TRM in section 13.6.4.3.4 and let me know if that helps or if you still need confirmation that the polynomial applies to all the modes your listed?
Best,
Haley
Haley,
This polynomial only cover CRC64. The MCRC module support more types of CRC algorithm.
How about the rest of types? CRC8 ? CRC16? CRC32? ....
Regards
Andre
Hi Andre,
Thanks for confirming and clarifying. I have the following polynomials for your question:
I am still looking into CRC-32, and I'll give you an update on that polynomial's progress on Thursday (9/21/23).
Best,
Haley
Haley,
Thanks for your reply. As my test, it looks like our CRC-16 use CRC16-CCITT FALSE with initial value 0xFFFF.
Can you please also provide initial value of each CRC algorithm?
Regards
Andre
Hi Andre,
I got the CRC-32 polynomial. The below list recaps all the polynomials originally asked for:
CRC 32 bit: X32+X26+ X23+X22+ X16+X12+ X11+X10+ X8+X7+ X5+X4+ X2+X+1
I can look into the initial value question next. However, I think you are asking about the "seed value", is that correct or is "initial value" referring to something else?
Clarifying the terminology will help my conversation with fellow experts as our documentation uses the term "seed value" - example below. I can give an update on the new question's progress on 09/25/23.
Thanks,
Haley
Haley,
CRC initial value is the start value when you calculate CRC. Most of algorithms use 0 as its initial/start value. Please refer to this on line CRC calculator.
https://www.lddgo.net/en/encrypt/crc
When I test CRC16 with MCRC module, the result is the same as calculation by using CRC16-CCITT FALSE. I didn't touch seed value at all and I don't think these two are the same thing.
You can also refer to CRC64-ISO the initial value also not 0.
Regards
Andre
Hi Andre,
Thanks for confirming and sending the calculator. It made the discussion among the experts easier, and the initial value will be set to all 1's.
Best,
Haley