No, what I'm saying is, that if I can make a plausible guess at the length of ewx's file, and the contents (probably ASCII text) then the search domain decreases in size dramatically.
Ah, gotcha. So if for example you know it's 1024 bytes long, you just md5sum all 256^1024 possible files till you get one that has the same signature. And if you know it's ASCII in gramatically correct English you have an even smaller search space.
Not so. Suppose the file is (say) 60 bytes long, and suppose your plausible guess at its contents limits each character to (say) 60 possibilities. I think those aren't too unreasonable; if you attempt to invoke dependency between characters (because the file is assumed to be intelligible English text) then I'll counter with the observation that any sensible player of this game will have included some random goop in their file along with the text, to defeat just this strategy.
So. If you know the file length is 60 bytes, then you have 60^60 possibilities. But what if you know it's up to 60 bytes? Well, then you have 60^0 + 60^1 + 60^2 + ... + 60^60 possibilities. But the interesting thing is that 60^0 + ... + 60^59 comes to (60^60 - 1)/(60 - 1). In other words, the number of possible strings with length strictly less than 60 is 1/59 times the number of possible strings with length exactly 60. This doesn't seem to me to be a dramatic reduction in the search space! You might just as well start from length zero and generate all possible strings until you hit the target md5sum; the longer the target string actually is, the smaller a proportion of your search time you'll turn out to have wasted by trying things of the wrong length.
(no subject)
Date: 2003-08-28 03:51 am (UTC)(no subject)
Date: 2003-08-28 03:55 am (UTC)Well, what are you waiting for?
(no subject)
Date: 2003-08-28 11:23 am (UTC)So. If you know the file length is 60 bytes, then you have 60^60 possibilities. But what if you know it's up to 60 bytes? Well, then you have 60^0 + 60^1 + 60^2 + ... + 60^60 possibilities. But the interesting thing is that 60^0 + ... + 60^59 comes to (60^60 - 1)/(60 - 1). In other words, the number of possible strings with length strictly less than 60 is 1/59 times the number of possible strings with length exactly 60. This doesn't seem to me to be a dramatic reduction in the search space! You might just as well start from length zero and generate all possible strings until you hit the target md5sum; the longer the target string actually is, the smaller a proportion of your search time you'll turn out to have wasted by trying things of the wrong length.
any sensible player of this game will have included some random goop
Date: 2003-08-28 11:40 am (UTC)