3 ms·
Yes, it's good to disambiguate that it's expected in a statistical sense but it's not an upper bound or confidence interval. I also wrote a program to find CRC
by hi-v-rocknroll 2y ago
Yes, it's good to disambiguate that it's expected in a statistical sense but it's not an upper bound or confidence interval.
I also wrote a program to find CRC32 hash collisions that can be injected into a text file or script to make a text hash to that value. https://gist.github.com/skull-squadron/c85d295cf9e6124dd7e90716dc7b7310 https://gist.github.com/skull-squadron/c85d295cf9e6124dd7e90...
Doing so MD5, SHA1, or even SHA256 would be extremely slow and expensive, but not impossible.
- nayuki 2y agoYou don't need to brute-force CRC-32. I do a preimage attack directly using linear algebra: https://www.nayuki.io/page/forcing-a-files-crc-to-any-value https://www.nayuki.io/page/forcing-a-files-crc-to-any-value
- hi-v-rocknroll 2y agoThat's neat but I'm embedding the CRC-32 hex digest itself in a TBD location rather than a chosen text. It's moot because the time savings would be premature optimization. Brute force takes only a couple of minutes and I barely use it. Thanks for the thought though.
- ahazred8ta 2y agoSelective partial SHA1/SHA2 matches only take a few seconds. https://github.com/not-an-aardvark/lucky-commit https://github.com/not-an-aardvark/lucky-commit