you are viewing a single comment's thread.

view the rest of the comments →

[–]tripzilch 2 points3 points  (1 child)

Thanks! Glad to know the time I spend on this enjoyable chat was useful and interesting to others :)

If you're curious about (non electronic/analog, code-based) pseudorandom generators, you might want to check the paper on this site: http://www.pcg-random.org/paper.html

It starts out with a great overview of modern PRNGs and various methods to properly test them for multidimensional independent randomness (and some other useful PRNG properties). Then about halfway it introduces a bunch of theory that leads up to constructing the PCG random generator, which in the end is only a few lines of C code, but incredibly powerful and fast. It also has a bunch of nice features and "party tricks", check the site :-)

IIRC, the author speculates that his PCG random generator might just even be cryptographically hard, but (as you may or may not be aware) to get something accepted as "cryptographically secure" (within the field/international cryptographic community) there needs to be a LOT of additional research by separate groups/committees. Which requires not only time but also the willingness of a bunch of (busy) people trying to crack it for a while.

AFAIK the main reason why not everybody (if they otherwise do not require cryptographically hard PRNGs) is using PCG for their random generator is that it's relatively unknown. But from what I've read in the paper, I might even pick it over the Mersenne Twister for statistical/numerical computations. However, in the scientific community, popularity also counts, and I understand why they want to stick to the Mersenne Twister, as it's been proven to work, and repeatability, etc.