此时我正在使用简单的校验和方案,只是在缓冲区中添加单词。首先,我的问题是假阴性的概率是多少,即接收系统计算与发送系统相同的校验和,即使数据不同(已损坏)。
其次,如何降低假阴性的可能性?什么是最好的校验方案。请注意,缓冲区中的每个字的大小为64位或8字节,这是64位系统中的长变量。
答案 0 :(得分:1)
假设一个理智的校验和实现,那么随机选择的输入字符串与参考输入字符串冲突的概率是1 in 2 n ,其中 n 是以位为单位的校验和长度。
但是,如果您所说的输入与原始数据的位数不同,那么碰撞的概率通常要低得多。
答案 1 :(得分:0)
一种可能性是看看T. Maxino的题为“The Effectiveness of Checksums for Embedded Networks”(PDF)的论文,其中包含对一些众所周知的校验和的分析。
但是,通常情况下最好使用具有额外优势的CRC,例如检测突发错误。
对于这些,P. Koopman的论文“Cyclic Redundancy Code (CRC) Selection for Embedded Networks”(PDF)是一种宝贵的资源。