Blum Blum Shub

Blum Blum Shub

Blum Blum Shub (B.B.S.) is a pseudorandom number generator proposed in 1986 by Lenore Blum, Manuel Blum and Michael Shub (Blum et al, 1986).

Blum Blum Shub takes the form:

:"x""n"+1 = ("xn")2 mod "M"

where "M=pq" is the product of two large primes "p" and "q". At each step of the algorithm, some output is derived from "x""n"; the output is commonly either the bit parity of "x""n" or one or more of the least significant bits of "x""n".

The two primes, "p" and "q", should both be congruent to 3 (mod 4) (this guarantees that each quadratic residue has one square root which is also a quadratic residue) and gcd(φ("p"-1), φ("q"-1)) should be small (this makes the cycle length large).

An interesting characteristic of the Blum Blum Shub generator is the possibility to calculate any "x""i" value directly:

: x_i = left( x_0^{2^i mod (p-1)(q-1)} ight) mod M.

ecurity

The generator is not appropriate for use in simulations, only for cryptography, because it is not very fast. However, it has an unusually strong security proof, which relates the quality of the generator to the computational difficulty of integer factorization. When the primes are chosen appropriately, and O(log log "M") lower-order bits of each "xn" are output, then in the limit as "M" grows large, distinguishing the output bits from random will be at least as difficult as factoring "M".

If integer factorization is difficult (as is suspected) then B.B.S. with large "M" will have an output free from any nonrandom patterns that can be discovered with any reasonable amount of calculation. This makes it as secure as other encryption technologies tied to the factorization problem, such as RSA encryption.

Example

Let p=11, q=19 and s=3. We can expect to get a large cycle length for those small numbers, because { m gcd}(phi(p-1), phi(q-1))=2.The generator starts to evaluate x_0 by using x_{-1}=s and creates the sequence x_0, x_1, x_2, ldots x_5 = 9, 81, 82, 36, 42, 92. The following table shows different output bits of different bit is used to determine the output.

References

* Lenore Blum, Manuel Blum, and Michael Shub. "A Simple Unpredictable Pseudo-Random Number Generator", "SIAM Journal on Computing", volume 15, pages 364–383, May 1986.
* Lenore Blum, Manuel Blum, and Michael Shub. "Comparison of two pseudo-random number generators", "Advances in Cryptology: Proceedings of Crypto '82". Available as [http://dsns.csie.nctu.edu.tw/research/crypto/HTML/PDF/C82/61.PDF PDF] .
* Martin Geisler, Mikkel Krøigård, and Andreas Danielsen. "About Random Bits", December 2004. Available as [http://daimi.au.dk/~mg/mamian/random-bits.pdf PDF] and [http://daimi.au.dk/~mg/mamian/random-bits.ps.gz Gzipped Postscript] .

External links

* [http://firefly.is-a-geek.org/gmpbbs/ GMPBBS] - a GMP-based implementation of Blum Blum Shub.
* [http://code.google.com/p/javarng/ An implementation in Java]
* [http://www.ciphersbyritter.com/NEWS2/TESTSBBS.HTM Randomness tests]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Blum Blum Shub — Saltar a navegación, búsqueda Blum Blum Shub (BBS) es un generador pseudoaleatorio de números propuesto por Lenore Blum, Manuel Blum y Michael Shub en 1986. El algoritmo BBS es: xn+1 = (xn)2 mod M donde M=pq es el producto de dos números primos… …   Wikipedia Español

  • Blum Blum Shub — Pour les articles homonymes, voir BBS. Blum Blum Shub (BBS) est un algorithme capable de produire 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… …   Wikipédia en Français

  • Blum-Blum-Shub — Der Blum Blum Shub Generator (BBS Generator; auch „s² mod n Generator“) ist ein Pseudozufallszahlengenerator, entwickelt 1986 von Lenore Blum, Manuel Blum und Michael Shub. Anwendung findet das System u. a. in der Kryptologie im Entwurf… …   Deutsch Wikipedia

  • Blum-Blum-Shub-Generator — Der Blum Blum Shub Generator (BBS Generator; auch „s² mod n Generator“) ist ein Pseudozufallszahlengenerator, entwickelt 1986 von Lenore Blum, Manuel Blum und Michael Shub. Anwendung findet das System u. a. in der Kryptologie im Entwurf… …   Deutsch Wikipedia

  • Blum-Shub-Smale machine — In computation theory, the Blum Shub Smale machine, or BSS machine, is a model of computation introduced by Lenore Blum, Michael Shub and Stephen Smale, intended to describe computations over the real numbers. Essentially, a BSS machine is a… …   Wikipedia

  • Machine de Blum-Shub-Smale — Une machine de Blum Shub Smale (ou machine BSS) est une machine de Turing calculant sur les nombres réels (autrement dit, son alphabet de bande est ). Elle manipule les réels comme des entités atomiques (c est à dire sans s intéresser à leur… …   Wikipédia en Français

  • Shub — ist der Familienname von Esfir Schub (1894–1953), sowjetische Regisseurin und Drehbuchautorin Michael Shub, Entwickler des Blum Blum Shub Generator Peter Shub (* 1957), US amerikanischer Clowndarsteller Diese Seite ist eine Be …   Deutsch Wikipedia

  • Blum-Goldwasser-Kryptosystem — Der Blum Blum Shub Generator (BBS Generator; auch „s² mod n Generator“) ist ein Pseudozufallszahlengenerator, entwickelt 1986 von Lenore Blum, Manuel Blum und Michael Shub. Anwendung findet das System u. a. in der Kryptologie im Entwurf… …   Deutsch Wikipedia

  • Blum-Goldwasser cryptosystem — The Blum Goldwasser (BG) cryptosystem is an asymmetric key encryption algorithm proposed by Manuel Blum and Shafi Goldwasser in 1984. Blum Goldwasser is a probabilistic, semantically secure cryptosystem with a constant size ciphertext expansion.… …   Wikipedia

  • Blum — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom.  Pour les articles homophones, voir Bloom et Blume. Patronyme Blum est un nom de famille notamment porté par : Alain Blum (1958 ), historien et… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”