Splittable pseudorandom number generators using cryptographic hashing
Journal article, 2014

We propose a new splittable pseudorandom number generator (PRNG) based on a cryptographic hash function. Splittable PRNGs, in contrast to linear PRNGs, allow the creation of two (seemingly) independent generators from a given random number generator. Splittable PRNGs are very useful for structuring purely functional programs, as they avoid the need for threading around state. We show that the currently known and used splittable PRNGs are either not efficient enough, have inherent flaws, or lack formal arguments about their randomness. In contrast, our proposed generator can be implemented efficiently, and comes with a formal statements and proofs that quantify how 'random' the results are that are generated. The provided proofs give strong randomness guarantees under assumptions commonly made in cryptography.

provable security

splittable pseudorandom number generators

Haskell

Author

Koen Lindström Claessen

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

Michal Palka

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

ACM SIGPLAN Notices

1523-2867 (ISSN)

Vol. 48 12 47-58

Subject Categories

Computer Science

DOI

10.1145/2578854.2503784

More information

Latest update

11/28/2024