[PATCH v4 2/5] CRC64 testsuite

Ulf Samuelsson binutils@emagii.com
Tue Feb 28 13:45:28 GMT 2023


On 2023-02-28 13:37, Nick Clifton wrote:
> Hi Ulf,
> As a matter of interest, where are these names and algorithms defined ?
>
> Is there a ISO standard for them, for example ? 

>>   * CRC64-ECMA   ECMA-182
>> https://www.ecma-international.org/publications-and-standards/standards/ecma-182/
>>   * CRC64-ISO       ISO 3309
>>   * CRC64-WE       A variant of ECMA-182, Same polynome but different 
>> parameters.
>>   * CRC64-XZ        A variant of ECMA-182, Same polynome but 
>> different parameters.
>>   * CRC64-POLY    You get to define your own polynome and parameters
>>   * CRC32             ISO 3309
>>   * CRC32-POLY    You get to define your own polynome and parameters
> Cheers
>   Nick
>
>
Here is a good web page explaining CRCs

http://www.sunshine2k.de/articles/coding/crc/understanding_crc.html#ch2

There is also an online CRC calculator.

http://www.sunshine2k.de/coding/javascript/crc/crc_js.html

========================================

The parameters used are

"Size (in bits)"

"Polynome"

"Initial Value"       CRC is assigned this value in the beginning of the 
check

"Final XOR Value" CRC is XORed with this value before returned

"Input Reflected"  Input data is bit reversed before use

"Output Reflected" CRC is bitreversed before return (comes before XOR)

"Reciprocal"        Polynome is bitreversed  before use

All my test uses the string "123456789" as testdata, which is quite common.

Best Regards

Ulf Samuelsson



More information about the Binutils mailing list