LYCOS RETRIEVER Beta Retriever Home  |  What is Lycos Retriever?   
Pseudorandom Number Generator: Algorithm
built 783 days ago
M. Mascagni (1997), "Some Methods of Parallel Pseudorandom Number Generation," in Algorithms for Parallel Processing, R. Schreiber, M. Heath and A. Ranade editors, Springer Verlag: New York, Berlin, pp. 277-288. This invited review presents the discrete mathematics and number theory behind the use of parameterized pseudorandom number generators in parallel. This paper was presented at the Institute for Mathematics and Its Applications during a special year in High Performance Computing Workshop on Algorithms for Parallel Processing.
Source:
CBBS is an implementation in C++ (no MFC) of the Blum Blum Shub pseudorandom number generator. Sometimes you may need some random data and having truly strong and unpredictable random data is hard to get. This kind of data cannot be generated by a computer, von Neumann says, "Any one who considers arithmetical methods of producing random digits is, of course, in a state of sin." So, why make a pseudorandom generator to get "random" data from arithmetical methods? To be honest, this algorithm does not "generate" random data. Rather, it is intended to expand a small amount of real random data.
Source:
This algorithm would return every value with exactly the same probability, if the next()-method would be a perfect random number generator. The loop at the bottom only accepts a value, if the random number was between 0 and the highest number less then 1<<31, which is divisible by n. The probability for this is high for small n, and the worst case is 1/2 (for n=(1<<30)+1). The special treatment for n = power of 2, selects the high bits of the random number (the loop at the bottom would select the low order bits). This is done, because the low order bits of linear congruential number generators (like the one used in this class) are known to be ``less random'' than the high order bits.
Stream ciphers: Symmetric-key encryption schemes to encrypt bulk data using a pseudorandom number generator which generates a random data stream. Since stream ciphers have the advantage of being able to implement the algorithm on a smaller scale compared to block ciphers, i.e. data can be encrypted by the bit, etc., it is adopted in radio-communication ciphers, such as in cellular phones and Bluetooth™. Stream ciphers are ... superior to block ciphers in terms of efficiency of encryption/decryption processing, and are therefore expected to be used widely in an advanced information networked society.
Source:
Yarrow is a PRNG; it generates cryptographically secure pseudorandom numbers on a computer and was written by Bruce Schneier, inventor of the AES encryption algorithm. Yarrow is copyright-free in the public domain for general business use.
Source:
SEARCH
MORE ABOUT