3 ms·
Wow, so only two bits flipped? That's pretty bad even if you're using md5 just as a simple checksum protection against transmission errors.
by 0x0 15y ago
Wow, so only two bits flipped? That's pretty bad even if you're using md5 just as a simple checksum protection against transmission errors.
- rphlx 15y agoNot really. This collision required specific intent, and a great deal of compute power, to find. md5 is still adequate for accidental/random error detection because the universe doesn't (usually) spend many hundreds of hours on hundreds of GPUs to try to corrupt your data without you noticing :)
- snewman 15y agoThough sometimes it can seem that way. :)
- 0x0 15y agoFair point. I just kind of assumed that any collision would require quite a lot of flipped bits, because usually just one flipped bit is enough to cause an "avalanche" of changes in the hash sum. Would it be possible to find a collision where only one bit is flipped in the input?
- deleted 15y ago[deleted]
- tankenmate 15y agoIf you are trying to protect against transmission errors then md5 is a poor choice; it is expensive, it gives no guarantees as to how accurate it is, and has no ability to correct errors. If you want to protect against transmission errors, and possibly correct them, use CRCs; apart from the fact that they provide all three of the above, that's what they were designed for.
- tptacek 15y agoVery well optimized CRC is significantly faster than MD5, but note that MD5 is very fast. MD5 is also a poorer choice for UUID-type applications than the SHA-2 functions, which offer more flexibility in output size at not much cost in performance.