tf-random: High-quality splittable pseudorandom number generator
This package contains an implementation of a high-quality splittable pseudorandom number generator. The generator is based on a cryptographic hash function built on top of the ThreeFish block cipher. See the paper Splittable Pseudorandom Number Generators Using Cryptographic Hashing by Claessen, Pałka for details and the rationale of the design.
The package provides the following:
A splittable PRNG that implements the standard
System.Random.RandomGen
class.The generator also implements an alternative version of the
System.Random.TF.Gen.RandomGen
class (exported from System.Random.TF.Gen), which requires the generator to return pseudorandom integers from the full 32-bit range, and contains an n-way split function.An alternative version of the
Random
class is provided, which is linked to the newRandomGen
class, together withRandom
instances for some integral types.Two functions for initialising the generator with a non-deterministic seed: one using the system time, and one using the
/dev/urandom
UNIX special file.
The package uses an adapted version of the reference C implementation of ThreeFish from the reference package of the Skein hash function (https://www.schneier.com/skein.html), originally written by Doug Whiting.
Please note that even though the generator provides very high-quality pseudorandom numbers, it has not been designed with cryptographic applications in mind.
Modules
[Index] [Quick Jump]
Downloads
- tf-random-0.5.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1, 0.2, 0.3, 0.4, 0.5 |
---|---|
Change log | ChangeLog |
Dependencies | base (>=4.2 && <5), primitive (>=0.3), random, time [details] |
License | BSD-3-Clause |
Author | Michał Pałka <michal.palka@chalmers.se> |
Maintainer | Michał Pałka <michal.palka@chalmers.se> |
Category | Random |
Source repo | head: darcs get http://hub.darcs.net/michal.palka/tf-random |
Uploaded | by MichalPalka at 2014-04-09T13:57:37Z |
Distributions | Arch:0.5, Debian:0.5, Fedora:0.5, FreeBSD:0.5, LTSHaskell:0.5, NixOS:0.5, Stackage:0.5 |
Reverse Dependencies | 18 direct, 8785 indirect [details] |
Downloads | 250411 total (198 in the last 30 days) |
Rating | 2.0 (votes: 1) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Successful builds reported [all 1 reports] |