devel/hs-tf-random - The NetBSD Packages Collection

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,
Palka 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
  new RandomGen class, together with Random 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
(, originally written by Doug Whiting.

Build dependencies

pkgtools/mktools pkgtools/cwrappers

Runtime dependencies

lang/ghc92 devel/hs-primitive devel/hs-random devel/hs-primitive devel/hs-random

Binary packages

NetBSD 10.0x86_64hs-tf-random-0.5nb8.tgz
NetBSD 10.0x86_64hs-tf-random-0.5nb8.tgz
NetBSD 8.0x86_64hs-tf-random-0.5nb8.tgz
NetBSD 8.0x86_64hs-tf-random-0.5nb8.tgz
NetBSD 9.0x86_64hs-tf-random-0.5nb8.tgz
NetBSD 9.0x86_64hs-tf-random-0.5nb8.tgz
NetBSD 9.0x86_64hs-tf-random-0.5nb8.tgz
NetBSD 9.0x86_64hs-tf-random-0.5nb8.tgz
NetBSD 9.0x86_64hs-tf-random-0.5nb8.tgz

Binary packages can be installed with the high-level tool pkgin (which can be installed with pkg_add) or pkg_add(1) (installed by default). The NetBSD packages collection is also designed to permit easy installation from source.

Available build options


Known vulnerabilities

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.

Problem reports, updates or suggestions for this package should be reported with send-pr.