For various reasons [

Brat87], random number generation based on completely deterministic algorithms has become most common. It is obvious, however, that numbers obtained in a strictly deterministic way cannot be considered truly random as they only imitate randomness. In fact, such numbers are pseudorandom. Ideally, pseudorandom numbers imitate "truly" random numbers so well that without knowing the method of pseudorandom number generation and judging only by the output sequence, you cannot distinguish it within a reasonable time from a "truly" random sequence with more than 50% probability [

L'Ecu94]. The output sequence of most pseudorandom number generators is easily predictable. This is acceptable because practical applications may not require strict unpredictability. However, there are certain applications for which most now existing pseudorandom generators are useless and at times simply dangerous. For example, the applications dealing with geometrical behavior of high-dimensional random vectors. Most of the existing pseudorandom generators should never be used for cryptographic purposes.