[updated]
Nothing. It is just old and methods to crack it are well-understood now. And it is relatively slow.
Check out XorShift+ or Xoroshiro128+ for PRNGs that blow MT out of the water.
O’Neil’s PCG is also very nice; it exists because of her frustration over the deficiencies of PRNGs which still dominate software.
I’m trying to finish up the FAQ pages on random number generation, but there is a lot to distill down to something both readable and usable. I’ll definitely post here in the lounge when it is ready.
But the basics are: take a number (the “seed”, if you will), perform some mathematical operations on it, and spit out some collection of the resulting bits as your generated number. Repeat ad infinitum. All pseudo-random number generation works this way. The only difference is the math used.
An LCG is a “linear congruential generator” — a line function with a remainder function tacked on:
y ≡ mx + b (mod n)
That’s it! (And you can hopefully see why it is easy to crack. Just watch for a few iterations and you can figure out both m and n.)
Smarter generators apply more sophisticated mathematical operations.
A CSPRNG is still a PRNG, except it has special constraints: namely, the mathematical functions applied are significantly more sophisticated, and the initial state comes from an STRNG (which produces whitened TRNG data, also called “entropy”) and may be modified by it regularly as well.
Well, back to working on my blag.
Find it here:
http://michael-thomas-greer.com/blog/CSPRNG/