我正在尝试复合 2 个 CRC 多项式。我有一条消息,我使用一个多项式生成一个 CRC。然后我对第一个 CRC 的结果进行 CRC,以获得第二个结果。有没有可能一次性做到这一点?
示例:给定消息 0xC 和多项式 0x17,我计算 CRC 为 0xA。然后我取这个结果和另一个多项式 0x13 并再次计算产生结果 0xD 的 CRC。我试图推导一个新的多项式,给定消息 0xC 将产生结果 0xD。
我只尝试在纸上进行此操作,因此我没有任何代码,但某些代码应如下所示:
def CRC(message, poly):
#CRC implementation
a = CRC(0xC, 0x17)
#The value of a right now would be 0xA
b = CRC(a, 0x13)
#The value of b is 0xD right now
我正在尝试使用我的初始消息和一个函数调用来获得相同的结果
b = CRC(0xC, ???)
#I would want the value of b after this call to be 0xD
这似乎是一个愚蠢的请求,但我觉得它很有帮助。我曾尝试专门应用简单的数学商余定理,但我发现有限域中的乘法过于复杂。