我想找到一些 CRC-24 算法的参数。
我所知道的是:
来源 1
生成多项式为 1010111010110110111001011 = 0x15D6DCB,即
5D6DCB
正常表示(MSB 优先代码)
数据(十六进制)
00 40 00 01 09 01 01 B0 A0 0C 0A 01 00 04 07 A0 05 A5 03 80 01 02 00 00 00 00 00 00 00 00 00
给
99 84 62
生成多项式与CRC-24/FLEXRAY中使用的相同,但都是关于寻找其他参数的。我使用灵活的jacksum工具做了一些测试,但到目前为止没有成功。
BYTES="00 40 00 01 09 01 01 B0 A0 0C 0A 01 00 04 07 A0 05 A5 03 80 01 02 00 00 00 00 00 00 00 00 00"
jacksum -s '\t' -a 'crc:24,5D6DCB,000000,fals,fals,000000+crc:24,5D6DCB,000000,true,true,000000+crc:24,5D6DCB,abcdef,fals,fals,000000+crc:24,5D6DCB,abcdef,true,true,000000+crc:24,5D6DCB,fedcba,fals,fals,000000+crc:24,5D6DCB,fedcba,true,true,000000+crc:24,5D6DCB,ffffff,fals,fals,ffffff+crc:24,5D6DCB,ffffff,true,true,ffffff' -F '#FILESIZE #ALGONAME{i}#SEPARATOR#CHECKSUM{i}' -E hex -q "hex:$(echo $BYTES | sed 's/ //g')"
31 crc:24,5d6dcb,000000,fals,fals,000000 6579ac
31 crc:24,5d6dcb,000000,true,true,000000 b17f3a
31 crc:24,5d6dcb,abcdef,fals,fals,000000 fd794d # CRC-24/FLEXRAY-B
31 crc:24,5d6dcb,abcdef,true,true,000000 367f23
31 crc:24,5d6dcb,fedcba,fals,fals,000000 e8a75b # CRC-24/FLEXRAY-A
31 crc:24,5d6dcb,fedcba,true,true,000000 5e048b
31 crc:24,5d6dcb,ffffff,fals,fals,ffffff a408f7
31 crc:24,5d6dcb,ffffff,true,true,ffffff 6bf1b9
以防万一我也尝试了反转字节顺序和反转输入数据的半字节顺序,但没有99 84 62
或62 84 99
没有。
我认为是refIn=false refOut=false xorOut=0
,但不确定。
来源 2
DATA + CRC(十六进制) - 每行一个条目:
00C01FFF057EA013CEFFCD1361D5E6E6001D64001400002C667E0000000000329BEA
00FFEC01007EA018CDCE2313BB18E6E7001E0149534B050000000100B3017E38CD0F
00C01FFF1B7EA021CEFFCD133817E6E6001CFEFEFEFEFEFEFEFE0149534B050000000100100CE67E00000000000000000000000000000000000000000000000000000054F223
00C01010107EA0080223C993E4437E000000000000000000000000000000003F96F1
00010C011D7EA01FC9022373B49681801205017E06017E0704000000010804000000015F757E0000000000000000000000000000000000000000000000000000000000723D01
00C010101B7EA0450223C9102148E6E6006036A1090607608574050801018A0207808B0760857405080201AC0A80083132333435363738BE10040E01000000065F1F0400007E1FFFFF83D77E0000000000000000000000000000000000000000000000000000009BFF67
00010C01037EA039C902233022BDE6E700612AA109060760857405080101A203020100A305A103020100BE11040F080100065F1F0400007C1F04000007194A7E00000010E99A
00C01010227EA01A0223C932AF55E6E600C0014000080000010000FF0200EADD7E00000000000000000000000000000000000000000000000000000000000000000000C22B4A
00010C011D7EA01FC90223523FA6E6E700C4014000090C07D201070101231A00FFC40080EC7E0000000000000000000000000000000000000000000000000000000000C162A6
00010C011D7EA01FC9022373B49681801205017E06017E0704000000010804000000015F757E0000000000000000000000000000000000000000000000000000000000723D01
运行reveng -w 24 -F -s ...
给出no models found
。这是否意味着上述某些示例可能已损坏?不幸的是,我不能 100% 确定它们都是正确的......
是否有任何理智的方法可以在不使用蛮力的情况下找到 init、refIn、refOut 和 xorOut?