2 of 3
replaced http://security.stackexchange.com/ with https://security.stackexchange.com/

There's no single method to determine the type of the PRNG. Indeed, for a cryptographic-strength PRNG you can't distinguish its output from truly random, so you can't determine the type of such PRNGs solely by looking at their output.

Instead, for each of the schemes that you list, there is a way to recover the seed and predict future bits from its output. The way to do that is different for each type of PRNG. So, the natural approach is: for each candidate type, try the method for recovering the seed that works for that type of PRNG, and see if you're successful. If you are, you've figured out the type of PRNG.

I don't think there's a more efficient or general technique. And, frankly, I don't think a more efficient one is needed. For the types you list, there are very efficient algorithms for cryptanalyzing them, given enough output. So, I suspect it's going to be hard to beat the "try all schemes" approach.

This works if your set of PRNG types contains only PRNGs that are cryptographically weak, i.e., where it is possible to predict future outputs given enough past outputs.

For details of how to do this for any specific type of PRNG, I suggest you ask a separate question focused on that one type of PRNG. Here are some resources on some of the PRNG types you listed:

  • 137.5k
  • 18
  • 185
  • 395