Introduction
Blum Blum Shub (BBS) est un algorithme capable de générer des nombres pseudo-aléatoires. Il fut proposé en 1986 par Lenore Blum, Manuel Blum et Michael Shub, d'où son nom.
On calcule la sortie de BBS en itérant la suite :
Avec , le produit de deux grands nombres premiers et , et la sortie de l'algorithme est le bit le moins significatif (least signifiant bit ou LSB) de . Alternativement, la sortie peut être plusieurs des derniers bits de
Les deux nombres premiers, et , devraient tous deux être congruents à 3 modulo 4 (cela garantit que chaque résidu quadratique possède une racine carrée qui possède également un résidu quadratique) et doit être petit (ce qui fait que le cycle est long).