Change the CRC-64 polynomial introduced in issue DDSIRTP25-12
Source: Real-Time Innovations ( Gerardo Pardo-Castellote)
The CRC-64 polynomial selected in
DDSIRTP25-12(a.k.a. CRC-64-iso) has issues that make it inadequate for this specification:
- The "only" formal reference is ISO 3309 which has been "withdrawn". The ISO 3309 page (https://www.iso.org/standard/8561.html) says it has been revised by ISO/IEC 13239:2002. However ISO/IEC 13239 does not mention CRC 64 at all. Moreover the later versions of the (withdrawn) ISO 3309, for example ISO-IEC-3309:1993 only mention CRC-32 polynomials, no CRC-64 polynomials.
- It seems to have fallen out of use: The two references that Wikipedia says use this polynomial (Swiss-Prot/TrEMBL) and HDCL seems to no longer use the CRC64-ISO polynomial:
1. Swiss-Prot/TrEMBL has changed to a different CRC-64 polynomial (see https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.368.2736&rep=rep1&type=pdf).
2. HDLC is defined in the ISO/IEC 13239 and it does not define CRC 64 bit polynomials.
Because of this the polynomial should be changes to the so called CRC-64-ECMA which as a specification that is not deprecated https://www.ecma-international.org/publications/standards/Ecma-182.htm. This polynomial is used in other relates specifications such as AUTOSAR: AUTOSAR 4.3 added CRC-64 with the ECMA polynomial (https://www.autosar.org/fileadmin/user_upload/standards/classic/4-3/AUTOSAR_SWS_CRCLibrary.pdf).
Moreover specifying the polynomial coefficients is not enough to fully specify the checksum. Instead there are additional rules about padding etc. For this reason the specification should be amended to include all the additional information.
Reported: DDSI-RTPS 2.3b1 — Tue, 9 Feb 2021 13:38 GMT
Disposition: Resolved — DDSI-RTPS 2.5
Replace the CRC-64 polynomial with the CRC-64/XZ checksum polynomial
Amend the resolution of
DDSIRTP25-12replacing the CRC-64 checksum polynomial and description with one that used the so called CRC-64/XZ checksum as utilized in AUTOSAR Classic Platform release R20-11, Specification of CRC Routines.
Expand the description of the CRC-32 and CRC-64 algorithms to define all the parameters needed to uniquely compute and validate the checksum, including the polynomial coefficients, whether the input data and output data are reflected, the initial value and the final XOR value.
Updated: Tue, 29 Jun 2021 12:54 GMT