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:
class.
'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.
the new 'RandomGen' class, together with 'Random' instances for some integral types.
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.
Package Version | Update ID | Released | Package Hub Version | Platforms | Subpackages |
---|---|---|---|---|---|
0.5-bp156.4.4 info | GA Release | 2024-02-21 | 15 SP6 |
|
|
0.5-bp155.3.17 info | GA Release | 2023-05-22 | 15 SP5 |
|
|
0.5-bp154.2.12 info | GA Release | 2022-05-09 | 15 SP4 |
|
|
0.5-bp153.1.20 info | GA Release | 2021-04-08 | 15 SP3 |
|
|
0.5-bp152.4.12 info | GA Release | 2020-06-16 | 15 SP2 |
|
|
0.5-bp151.4.2 info | GA Release | 2019-07-17 | 15 SP1 |
|
|
0.5-bp151.3.12 info | GA Release | 2019-05-31 | 15 SP1 |
|
|
0.5-bp150.2.6 info | GA Release | 2018-07-31 | 15 |
|
|
0.5-bp150.2.7 info | GA Release | 2018-07-30 | 15 |
|
|
0.5-2.7 info | 5585 | 2016-09-14 | 12 GA-SP5 |
|
|
0.5-2.3 info | 5585 | 2016-09-14 | 12 GA-SP5 |
|
|