Efficient, Perfect Random Number Generators

  • S. Micali
  • C. P. Schnorr
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 403)


We describe a method that transforms every perfect random number generator into one that can be accelerated by parallel evaluation. Our method of parallelization is perfect, m parallel processors speed the generation of pseudo-random bits by a factor m; these parallel processors need not to communicate. Using sufficiently many parallel processors we can generate pseudo-random bits with nearly any speed. These parallel generators enable fast retrieval of substrings of very long pseudo-random strings. Individual bits of pseudo-random strings of length 1020 can be accessed within a few seconds. We improve and extend the RSA-random number generator to a polynomial generator that is almost as efficient as the linear congruential generator. We question the existence of polynomial random number generators that are perfect and use a prime modulus.


Random Number Generator Binary Representation Random Seed Polynomial Generator Parallel Processor 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. Alexi, W., Chor, B., Goldreich, O., and Schnorr, C.P.: RSA and Rabin Functions: certain parts are as hard as the whole. Proceeding of the 25th Symposium on Foundations of Computer Science, 1984, pp. 449–457; also: Siam Journal on Comput., 17,2 (1988).Google Scholar
  2. Blum, L., Blum, M. and Shub, M.: A simple unpredictable pseudo-random number generator. Siam J. on Computing (1986), pp. 364–383.Google Scholar
  3. Blum M. and Micali S.: How to generate cryptographically strong sequences of pseudo-random bits. Proceedings of the 25th IEEE Symposium on Foundations of Computer Science, IEEE, New York (1982); also Siam J. Comput. 13 (1984), pp. 850–864.Google Scholar
  4. Goldreich O., Goldwasser S., Micali S.: How to Construct Random Functions. Proceedings of the 25th IEEE Symposium on Foundations of Computer Science, IEEE, New York, (1984); also Journal ACM 33,4 (1986), pp. 792–807.Google Scholar
  5. Knuth D.E.: The Art of Computer Programming. Vol. 2, second edition. Addison Wesley (1981).Google Scholar
  6. Luby, M. and Rackoff, Ch.: Pseudo-random permutation generators and cryptographic composition. Proceedings of the 18th ACM Symposium on the Theory of Computing, ACM, New York (1985) pp. 356–363.Google Scholar
  7. Pollard J.: private communication (1988).Google Scholar
  8. Stern, J.: Secret linear congruential generators are not cryptographically secure. Proceedings of the 28th IEEE-Symposium on Foundations of Computer Science (1987) pp. 421–426.Google Scholar
  9. Stiefel, E.: Einführung in die numerische Mathematik. Teubner, Stuttgart (1969).Google Scholar
  10. Yao, A.C.: Theory and applications of trapdoor functions. Proceedings of the 25th IEEE Symposium on Foundations of Computer Science, IEEE, New York (1982), pp. 80–91.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • S. Micali
    • 1
  • C. P. Schnorr
    • 2
  1. 1.Laboratory for Computer ScienceMITUSA
  2. 2.Fachbereich Mathematik/InformatikUniversität FrankfurtFrankfurt

Personalised recommendations