完美 32 位 crc 的预期冲突
Posted
技术标签:
【中文标题】完美 32 位 crc 的预期冲突【英文标题】:Expected collisions for perfect 32bit crc 【发布时间】:2011-04-10 04:43:41 【问题描述】:我正在尝试确定我的 crc 与“理想”的 32 位 crc 相比如何。
所以我运行我的 crc 超过 100 万个完全随机的数据样本并收集了碰撞数量,我想将此数字与我可以从“理想”crc 中预期的碰撞数量进行比较.
有谁知道如何计算“ideal”32 位 crc 的预期碰撞?
【问题讨论】:
【参考方案1】:将您自己的 CRC 与 0x1EDC6F41 作为您的“理想”参考进行比较。
话虽如此,没有理想的 32 位 CRC。根据散列数据的长度,不同的多项式具有不同的碰撞特性。然而,Castagnoli 在 1993 年的一篇论文发现了在最广泛的数据长度范围内被认为是最佳的 32 位 CRC 值,即 0x1EDC6F41。这个多项式被一些网络协议使用,比如 iSCSI 以及 x86 CRC32 指令。
【讨论】:
【参考方案2】:这很好地解释了“生日问题”以及所有关于预测碰撞概率CRC32 Hash Collision Probability
【讨论】:
以上是关于完美 32 位 crc 的预期冲突的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 64 位机器上将 Detours.lib 编译为 32 位:LNK1112:模块机器类型“x86”与目标机器类型“x64”冲突