michael@0: =head1 NAME michael@0: michael@0: prng - pseudo-random number generator michael@0: michael@0: =head1 SYNOPSIS michael@0: michael@0: prng [count] michael@0: michael@0: =head1 DESCRIPTION michael@0: michael@0: B generates 32-bit pseudo-random integers using the michael@0: Blum-Blum-Shub (BBS) quadratic residue generator. It is seeded using michael@0: the standard C library's rand() function, which itself seeded from the michael@0: system clock and the process ID number. Thus, the values generated michael@0: are not particularly useful for cryptographic applications, but they michael@0: are in general much better than the typical output of the usual michael@0: multiplicative congruency generator used by most runtime libraries. michael@0: michael@0: You may optionally specify how many random values should be generated michael@0: by giving a I argument on the command line. If you do not michael@0: specify a count, only one random value will be generated. The results michael@0: are output to the standard output in decimal notation, one value per michael@0: line. michael@0: michael@0: =head1 RESTRICTIONS michael@0: michael@0: As stated above, B uses the C library's rand() function to seed michael@0: the generator, so it is not terribly suitable for cryptographic michael@0: applications. Also note that each time you run the program, a new michael@0: seed is generated, so it is better to run it once with a I michael@0: parameter than it is to run it multiple times to generate several michael@0: values. michael@0: michael@0: =head1 AUTHOR michael@0: michael@0: Michael J. Fromberger michael@0: Copyright (C) 1998 Michael J. Fromberger, All Rights Reserved michael@0: Thayer School of Engineering, Dartmouth College, Hanover, NH USA