Blum–Micali pseudorandom number generator

E117703

The Blum–Micali pseudorandom number generator is a foundational cryptographic algorithm that produces provably secure pseudorandom bits based on number-theoretic hardness assumptions.

All labels observed (2)

How this entity was disambiguated

Statements (45)

Predicate Object
instanceOf cryptographic primitive
number-theoretic algorithm
pseudorandom number generator
stream cipher primitive
assumes existence of one-way permutations
basedOn discrete logarithm problem
one-way function
category provably secure pseudorandom generator
constructionType bit-by-bit generator
designedFor cryptographic applications
key stream generation
developedBy Manuel Blum
Silvio Micali
field computational number theory
cryptography
theoretical computer science
formalizedIn complexity-theoretic framework
hasAbbreviation BM generator
hasComplexity polynomial time per output bit
hasProperty bitwise output
computationally indistinguishable from uniform
next-bit unpredictable
provably secure under standard assumptions
influenced Yao’s pseudorandom generator construction
subsequent number-theoretic PRGs
input secret seed
introducedIn Blum–Micali pseudorandom number generator self-linksurface differs
surface form: “How to Generate Cryptographically Strong Sequences of Pseudo-Random Bits”
namedAfter Manuel Blum
Silvio Micali
output pseudorandom bit sequence
pseudorandom bitstream
publicationYear 1984
relatedTo Blum–Blum–Shub pseudorandom number generator
Yao’s next-bit test
requires large prime modulus
primitive root modulo prime
securityGuarantee next-bit test implies all polynomial-time statistical tests
securityModel polynomial-time adversary
securityReliesOn hardness of computing discrete logarithms
securityType computational security
seedSpace elements of the underlying group
typicalGroup multiplicative group of integers modulo a large prime
uses cyclic group modulo a prime
generator of a multiplicative group
modular exponentiation

How these facts were elicited

Referenced by (2)

Full triples — surface form annotated when it differs from this entity's canonical label.

Manuel Blum notableWork Blum–Micali pseudorandom number generator
Blum–Micali pseudorandom number generator introducedIn Blum–Micali pseudorandom number generator self-linksurface differs
this entity surface form: “How to Generate Cryptographically Strong Sequences of Pseudo-Random Bits”