Summarizing, the paper suggests that you can generate high quality pseudorandom numbers by hashing a counter with a cryptographic hash (such as AES).  Since AES has hardware support in modern processors, this is fast: less than 2 cycles per byte of randomness.  If you do fewer &quot;rounds&quot; of encryption than used for cryptography, you can pass all existing tests for randomness with run time of less than 1 cycle per byte.  Using a counter as the state makes it very easy to skip ahead in the sequence, and to distribute &quot;streams&quot; across multiple processors.