3 ms·
Let's say I append 128 random bytes to the input string.
by XCSme 4y ago
Let's say I append 128 random bytes to the input string.
- Retr0id 4y agoTrivially broken. Ignoring the adler32 and crc32 checksums, I can retroactively adjust the hex digits in the image without affecting the resultant hash, even with a suffix - as long as I know what the final hash is.
- imranhou 4y agoAssuming that you are able to easily trigger the hashing with salt enough times for you to adjust the image... right? Any idea (ballpark) how many such test iterations would you need? Great work btw!
- Retr0id 4y agoApproximately 1
- XCSme 4y agoI was talking about basic string hashing (not images), so I guess that would be even simpler. > I can retroactively adjust the hex digits in the image without affecting the resultant hash My point is: I give you a hash H, can you generate a collision by finding a string X, so that when I append an (unknown to you) salt S then MD5(X + S) = H. EDIT: To make it clear, the only feedback you get when you try X is whether the final hash matches, you don't get the resulting hash each time.
- jgeralnik 4y agoMD5 is not broken in the way you think it is. Even without salting if you give a hash H there is basically no way to recover a string that hashes to it other than randomly trying strings 2^128 times. What you can do trivially is find 2 strings X1 and X2 such that md5(X1) == md5(X2). In this case seeding the way you described won't help because md5(X1+S) will equal md5(X2+S) due to the way MD5 works