Wednesday, February 19, 2014

[dagmorcs] Decoding pseudorandom number generators

For your favorite non-cryptographic pseudo random number generator, create a routine that takes as input a sequence of samples and decodes the internal state, allowing you to clone the generator and predict (in a cheating way) future random samples before calling the original generator.

Probably involves solving systems of equations in modular finite fields.

The task could be quite tricky depending on how much processing, possibly lossy, the internal state undergoes before being output as a random sample.  glibc discards the least significant bit.  Others may convert to a real number. Others may convert it to a Tetris piece. I suspect many products incorrectly assume this task is impossible.

(Fame and fortune awaits if you can do this to a cryptographic PRNG, i.e., a stream cipher.)

No comments :