Amit Klein wrote: > Chris Anley wrote: >> Hi folks, >> I've posted a paper that explains a little more here: >> http://www.ngssoftware.com/research/papers/Randomness.pdf > > > Nice paper. I do notice an enumeration loop over 2^16 possible 16-bit > values. This can be improved as following (note: this is probably > already discussed in mathematic literature - i.e. I probably did not > invent it...): <lots of cool stuff cut> > This should be much faster than looping over 2^16 values. Cheers Amit, that's cool and I'm sure it's faster. There are quite a few neat tricks in the literature - Knuth's paper on predicting lcg's where you're missing the low bits is good (I was trying to work out whether his technique and yours are equivalent; I'm still not sure...), and the paper Michal Zalewski recommended: http://dsns.csie.nctu.edu.tw/research/crypto/HTML/PDF/C89/138.PDF is also neat. One interesting (?) question is whether that technique applies to the mysql rand, which is wierd and custom, and used in the auth protocol prior to version 4.1. I don't think anyone's published the code for a totally generic predictor before, but I might be mistaken. If anyone knows, could they shout...? Anyhow, ultimately, it's a POC for a specific bug. I loop over 2^16 values because it's instant, and easy. :o) Cheers, -chris. -- E-MAIL DISCLAIMER The information contained in this email and any subsequent correspondence is private, is solely for the intended recipient(s) and may contain confidential or privileged information. For those other than the intended recipient(s), any disclosure, copying, distribution, or any other action taken, or omitted to be taken, in reliance on such information is prohibited and may be unlawful. If you are not the intended recipient and have received this message in error, please inform the sender and delete this mail and any attachments. The views expressed in this email do not necessarily reflect NGS policy. NGS accepts no liability or responsibility for any onward transmission or use of emails and attachments having left the NGS domain. NGS and NGSSoftware are trading names of Next Generation Security Software Ltd. Registered office address: 52 Throwley Way, Sutton, SM1 4BF with Company Number 04225835 and VAT Number 783096402