1

I need a highly-accurate checksum to do checking of data approximately 512KB in length. I know of and have used several different checksums before but I've never really needed to care about accuracy this much until now, so I'm looking to find out this:

If I have a compound of CRC-32s ( adding up to 512 bits in length ) using the polynomial 0x1EDC6F41, will it be more or less accurate than a SHA-512 (SHA2) hash?

Mat
  • 202,337
  • 40
  • 393
  • 406
Erkling
  • 509
  • 4
  • 16
  • What do you mean by "accurate"? – Mat Feb 05 '12 at 12:31
  • 1
    Depends a bit on what kind of changes in the data you want to detect. For example, with CRCs, you can get a cast-iron guarantee that any single flipped bit will be detected, which i think SHA-n doesn't give you. So, what do you envisage happening to this data that you want to detect? – Tom Anderson Feb 05 '12 at 12:33
  • By accurate, I mean the accuracy of the checksum's data checking. Not sure if this is being explained correctly on my behalf. @TomAnderson: Primarily the data will have extremely large changes, however in my eyes these are more likely to be missed by a CRC than a single bit change. – Erkling Feb 05 '12 at 12:34
  • Okay, just a re-definition of accuracy on my part: When I say accuracy, I'm basically looking for the likely hood of two pieces of data causing a hash-collision. Hope that is a little more clear. :) – Erkling Feb 05 '12 at 12:44
  • 1
    You could also use a CRC-512 rather than 16 CRC-32s. – President James K. Polk Feb 05 '12 at 21:15
  • I was thinking of that, GregS, but I can't find any 512-bit polynomial and I lack the experience/knowledge/wisdom/epicness to make one myself. – Erkling Feb 06 '12 at 12:52

0 Answers0