2010-09-09 21 views
7

J'essaie de déterminer comment mon crc se compare à un "idéal" 32bit crc.Collisions attendues pour parfait 32bit crc

Alors j'ai couru mon crc plus d'un million d'échantillons de données complètement aléatoires et recueilli le nombre de collisions, je veux comparer ce nombre au nombre de collisions que je pouvais attendre du "idéal" crc.

Est-ce que quelqu'un sait comment calculer la collision attendue pour un "ideal" 32bit crc?

Répondre

7

Comparez votre CRC avec 0x1EDC6F41 comme référence « idéal ». Cela dit, il n'y a pas de CRC 32 bits idéal. Différents polynômes ont des caractéristiques de collision différentes en fonction de la longueur des données hachées. Cependant, un article de Castagnoli en 1993 a trouvé ce qui est considéré comme la meilleure valeur de CRC sur 32 bits sur la plus grande plage de longueurs de données, à savoir 0x1EDC6F41. Ce polynôme est utilisé par certains protocoles réseau comme iSCSI et également l'instruction x86 CRC32.