summaryrefslogtreecommitdiff
blob: adfa7bdcc8046e3ee64db08749518633962d2d96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
	<herd>haskell</herd>
	<longdescription>
		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, PaBka for details and the rationale of the design.
		
		The package provides the following:
		
		* A splittable PRNG that implements the standard &#39;System.Random.RandomGen&#39; class.
		
		* The generator also implements an alternative version of the &#39;System.Random.TF.Gen.RandomGen&#39; class (exported from &quot;System.Random.TF.Gen&quot;), 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 (&lt;https://www.schneier.com/skein.html&gt;), 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.
	</longdescription>
</pkgmetadata>