Pseudo random number generator with short period

40 Views Asked by At

I need to create a good quality random number generator that generates integer numbers in the range $0$ to $N-1$ where $N$ is a number in the single or tens of thousands. For example, $N=4096$.

The generator's period should be $N$ and it should output every number in its range exactly once per period. I need a good quality of "randomness". It might be useful if the generator could be shuffled (e.g. different configurations each producing a different output order).

Any ideas?