1. 22
  1. 9

    This is a very interesting exploration of designing a non-cryptographic PRNG for modern x64.

    That said, non-cryptographic random is a specialized algorithm for some particularly CPU-heavy code; modern crypto is fast enough that one should just use crypto-quality random by default. ChaCha, commonly used as the basis for cryptographic PRNGs, runs at [approximately 4 cycles-per-byte|https://en.wikipedia.org/wiki/Salsa20], and anything e.g. generating session cookies for the web will swamp the ChaCha overhead (and probably needs its superior security guarantees).

    1. 3

      If you want to be slightly depressed, read the linked articles by the author of xoshiro and the PCG author’s response. Science has plenty of drama involved. At least one of the parties involved has a good attitude about it.

      1. 2

        Matthew Green has a thread on Twitter about this. It is not kind. (Here is the HN comment in that Twitter thread.)