I know little about RNGs -- but wouldn't it be practical to run about 3 RNGs with different algorithms in parallel, and add their results? Surely that would be a lot harder to attack than any one RNG.<p>Ditto if you start with the RNG output and apply even a simple transformation to it. After all, if you start with a pseudo-random-number and apply to it an isomorphism from the valid number set to itself, you should wind up with something that's still pseudo-random.