Splittable Pseudorandom Number Generators using Cryptographic Hashing
Paper in proceeding, 2013

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

Haskell

splittable pseudorandom number generators

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)

Proceedings of the Haskell Symposium 2013

47-58
978-1-4503-2383-3 (ISBN)

Subject Categories

Computer Science

DOI

10.1145/2503778.2503784

ISBN

978-1-4503-2383-3

More information

Created

10/7/2017