CDROM 数据使用使用 Reed-Solomon 的第 3 层错误检测和使用 32 位 CRC 多项式的 EDC。
ECMA 130标准将EDC CRC 多项式定义如下(第 16 页,第 14.3 页):
P(X) = (X^16 + x^15 + x^2 + 1).(x^16 + x^2 + x + 1)
和
首先使用数据字节的最低有效位。
通常,将多项式转换为其整数值形式非常简单。使用模数学,扩展多项式必须为P(X) = x^32 + x^31 + x^18 + x^17 + x^16 + x^15 + x^4 + x^3 + x^2 + x + 1
,因此值为0x8007801F
最后一句意味着多项式是相反的(如果我理解正确的话)。
但到目前为止,我还没有设法获得正确的价值。Cdrtools源代码使用 0x08001801 作为多项式值。有人可以解释他们是如何找到这个价值的吗?