Earlier quoted context omitted.
So what you need is a high-quality Pseudorandom Number Generator (PRNG). You do not need a Cryptographically Secure PRNG. This is good, what you need can be implemented significantly more efficiently than the CS version. As you mentioned, it doesn't help your application to be truly nondeterministic. C rand() is about the worst one you can find. Mersenne Twister is great statistically, but it's quite expensive in ter…
I've been reading New Kind Of Science recently, intrigued by some of Wolfram's grandiose claims I ran some tests and it indeed turns out that the Rule 30 cellular automaton is a very high quality PRNG (as long as you pick the right bits). It's a very simple algorithm and very parallel too. It's just that my version picked one bit per generation (the middle one) and the period of the PRNG is determined by the size of…
I don't suppose you have the code lying around...? Even if it's not pretty, it would still be a big help! =)