Graph
Blum Blum Shub

🔒Blum Blum Shub

NEW

Also known as: BBS

A number-theoretic CSPRNG defined by squaring modulo a composite M=p·q, with security tied to factoring hardness.

DESCRIPTION

Blum Blum Shub (BBS) produces bits via x_{n+1} = x_n^2 mod M, where M is a product of two large primes congruent to 3 mod 4. Security is based on the difficulty of factoring M and predicting quadratic residues, making BBS provably secure under widely believed assumptions. It is relatively slow and mainly of theoretical and niche practical interest. Bit extraction (usually least significant bits) must follow guidance to preserve security. While historically important, modern systems often favor DRBGs based on hashes, HMAC, or block ciphers for performance.

ALTERNATIVE DEFINITIONS

Wikipedia

In cryptography, the Blum Blum Shub (BBS) is a pseudorandom number generator proposed in 1986 by Lenore Blum, Manuel Blum and Michael Shub.

States origin, classifies as PRNG, and situates in cryptography.

Source

Schneier and Kelsey

The Blum-Blum-Shub generator is defined by x_{i+1} = x_i^2 mod M, where M is the product of two primes p and q congruent to 3 modulo 4.

Gives the precise recurrence and constraints on modulus.

Source

Cryptographically Secure Pseudorandom Number Generator Quadratic Residues Modular Arithmetic Seed NIST SP 800-90A Entropy Source Bit Extraction Number Theory

COMPETING TERMS

Yarrow Fortuna

RELATIONS

KNOWLEDGE AREAS

Mathematics Data Security Testing & Validation

TARGET AUDIENCE

Cybersecurity Engineer Security Architect Software Developer Chief Information Security Officer

EXTERNAL SOURCES

TOP QUESTIONS

Why is Blum Blum Shub considered secure?

Its security reduces to the hardness of factoring and predicting quadratic residues, offering provable guarantees under standard assumptions.

Category: Concept

Why is Blum Blum Shub not widely used in practice?

It is relatively slow compared to DRBGs based on hashes or block ciphers, which are more practical at scale.

Category: Relevancy

How should bits be extracted from Blum Blum Shub?

Typically only the least significant bit or a few bits per iteration are used to maintain security.

Category: BestPractice

What parameters are required for Blum Blum Shub?

Select large primes p and q with p≡q≡3 (mod 4), compute M=p·q, and choose a seed co-prime to M.

Category: Requirements

Is Blum Blum Shub suitable for seeding other PRNGs?

Yes, it can provide high-quality bits to seed faster PRNGs, though this adds complexity.

Category: Opinion

Can Blum Blum Shub be parallelized?

It’s difficult due to sequential dependence; parallel streams require independent moduli and careful design.

Category: BestPractice

What is a practical alternative to Blum Blum Shub?

NIST SP 800-90A DRBGs (Hash_DRBG, HMAC_DRBG, CTR_DRBG) offer strong security and performance.

Category: Alternatives

Does Blum Blum Shub pass standard randomness tests?

Yes, when used correctly, but tests alone do not establish cryptographic security.

Category: Testing

What happens if p or q are poorly chosen?

Security degrades; factoring becomes easier and outputs may be more predictable.

Category: Risk