CRC32 是否像两个以不同方式启动的 CRC16 一样具有弹性?
Is a CRC32 as resilient as two CRC16 initiated differently?
给定一个待检查的字符串s
、一个独立验证的"salt"t
、一个append
运算符+
和任意大小的循环冗余校验函数crc2X()
和crcX()
,是否crcX(s)+crcX(t+s)
对字符串s
具有与crc2X(s)
相同的数据降级检测能力?
没有
crcX(t+s)
可以由crcX(t)
、crcX(s)
和t
的长度计算出来。因此,您通过附加 crcX(t+s)
添加了关于 s
的零错误检测信息。您添加的只是关于 t
.
的错误检测信息
crc2X(s)
,对于正确选择的 CRC 多项式,将具有比 crcX(s)
更好的错误检测能力,仅仅是因为它有更多的位数。
给定一个待检查的字符串s
、一个独立验证的"salt"t
、一个append
运算符+
和任意大小的循环冗余校验函数crc2X()
和crcX()
,是否crcX(s)+crcX(t+s)
对字符串s
具有与crc2X(s)
相同的数据降级检测能力?
没有
crcX(t+s)
可以由crcX(t)
、crcX(s)
和t
的长度计算出来。因此,您通过附加 crcX(t+s)
添加了关于 s
的零错误检测信息。您添加的只是关于 t
.
crc2X(s)
,对于正确选择的 CRC 多项式,将具有比 crcX(s)
更好的错误检测能力,仅仅是因为它有更多的位数。