什么是确定16位校验和计算的最有效方法? [CRC地狱:-(]

时间:2012-04-27 23:46:12

标签: hash radio checksum crc transmission

我目前正在进行一项涉及嗅探和修改无线电数据包的研究项目,不幸的是,我已经打了一个数学砖墙。 : - /

所讨论的数据包具有全1的16位前导码,后跟二进制0,接着是32位各种数据,接着是某种16位校验和,每个无线数据包总共65位

我使用逻辑分析仪收集了数百个数据样本,主要是强制发送设备报告不同的状态,我已经在Excel中收集了数据。

现在,进行传输的硬件已经很老了,大约在90年代初期,所以我不期待任何花哨的东西。起初我只是想我会尝试手工弄清楚,但运气不好。在认为我已经想到使用了几个XOR,OR和XAND之后,我意识到我的“公式”在其他具有不同序列号(前16位数据)的发送器上失败了。

因为它只有16位,而且我认为它太旧了,我认为它可能是一个简单的CRC,但我还没有找到提供甚至远程正确结果的配方。

我甚至在几年前从有类似问题的人那里发现了另一篇关于StackOverflow的帖子,但我梳理过的解决方案似乎没有任何帮助。

最终目标是能够创建任意序列号的传输而无需访问实际的物理传输器。

思考?评论

1 个答案:

答案 0 :(得分:1)

你有进步吗?

一些有用的链接:

    bbcmicro.net上的
  1. CRC Catalogue
  2. Pycrc已经实施了许多CRC计算。
  3. CRC models for pycrc。
  4. 维基百科的“Commonly Used And Standardized_CRCs
  5. Brute Force Polynomial Finder
  6. Brute Forcing CRC Paramaters