Les deux nombres premiers, et , devraient tous deux être congrus à 3 modulo 4 (cela garantit que chaque résidu quadratique possède une racine carrée qui soit également un résidu quadratique) et le PGCD de et doit être petit (ce qui fait que le cycle est long).
La graine aléatoire et doivent être premiers entre eux (c'est-à-dire que et ne doivent pas être des facteurs de ), et ne doit pas être 0 ou 1.
Sécurité de l'algorithme
Le générateur n'est pas approprié aux simulations, mais plutôt à la cryptographie, car il est assez lent.
Cependant, il possède une sécurité inhabituelle, puisqu'il a été démontré, tout d'abord, qu'il était cryptographiquement sûr sous l'hypothèse qu'il soit difficile de déterminer si, modulo un entier composé, un nombre est un carré ou non (problème de la résiduosité quadratique). Par la suite, il a été prouvé qu'il était cryptographiquement sûr, sous l'hypothèse que le problème de la factorisation soit difficile, et qu'au plus bits de poids faible de chaque soient sortis à chaque itération. Dans ce cas, il n'est pas possible de différencier la suite produite d'une suite réellement aléatoire.
Générateur
Lavarand est un dispositif utilisant des lampes à lave afin d'obtenir la graine d'un algorithme BBS, et ainsi générer des nombres pseudo-aléatoires[2] très sûrs et même des nombres réellement aléatoires[3],[4].
Certaines informations figurant dans cet article ou cette section devraient être mieux reliées aux sources mentionnées dans les sections « Bibliographie », « Sources » ou « Liens externes » ().
Pascal Junod, "Cryptographic Secure Pseudo-Random Bits Generation: The Blum-Blum-Shub Generator", août 1999. PDF de 21 pages
Martin Geisler, Mikkel Krøigård, et Andreas Danielsen. "About Random Bits", décembre 2004. Disponible en PDF et Gzipped Postscript.
Umesh Vazirani, Vijay V. Vazirani. "Efficient and Secure Pseudo-Random Number Generation", Crypto'84, Lecture Notes in Computer Science Volume 196, p. 193--202, Springer-Verlag (1985)