mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-08-03 09:48:00 -04:00
16 lines
877 B
Plaintext
16 lines
877 B
Plaintext
As with other Pseudo-Random Number Generator (PRNG) algorithms like the
|
|
Mersenne Twister (see Math::Random::MT), this algorithm is designed to
|
|
take some seed information and produce seemingly random results as output.
|
|
|
|
However, ISAAC (Indirection, Shift, Accumulate, Add, and Count) has
|
|
different goals than these commonly used algorithms. In particular, it's
|
|
really fast - on average, it requires only 18.75 machine cycles to generate
|
|
a 32-bit value. This makes it suitable for applications where a significant
|
|
amount of random data needs to be produced quickly, such solving using the
|
|
Monte Carlo method or for games.
|
|
|
|
The results are uniformly distributed, unbiased, and unpredictable unless
|
|
you know the seed. The algorithm was published by Bob Jenkins in the late
|
|
90s and despite the best efforts of many security researchers, no feasible
|
|
attacks have been found to date.
|