Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Blum–Micali algorithm
Algorithm

The Blum–Micali algorithm is a cryptographically secure pseudorandom number generator. The algorithm gets its security from the difficulty of computing discrete logarithms.

Let p {\displaystyle p} be an odd prime, and let g {\displaystyle g} be a primitive root modulo p {\displaystyle p} . Let x 0 {\displaystyle x_{0}} be a seed, and let

x i + 1 = g x i   mod   p {\displaystyle x_{i+1}=g^{x_{i}}\ {\bmod {\ p}}} .

The i {\displaystyle i} th output of the algorithm is 1 if x i ≤ p − 1 2 {\displaystyle x_{i}\leq {\frac {p-1}{2}}} . Otherwise the output is 0. This is equivalent to using one bit of x i {\displaystyle x_{i}} as your random number. It has been shown that n − c − 1 {\displaystyle n-c-1} bits of x i {\displaystyle x_{i}} can be used if solving the discrete log problem is infeasible even for exponents with as few as c {\displaystyle c} bits.

In order for this generator to be secure, the prime number p {\displaystyle p} needs to be large enough so that computing discrete logarithms modulo p {\displaystyle p} is infeasible. To be more precise, any method that predicts the numbers generated will lead to an algorithm that solves the discrete logarithm problem for that prime.

There is a paper discussing possible examples of the quantum permanent compromise attack to the Blum–Micali construction. This attacks illustrate how a previous attack to the Blum–Micali generator can be extended to the whole Blum–Micali construction, including the Blum Blum Shub and Kaliski generators.

We don't have any images related to Blum–Micali algorithm yet.
We don't have any YouTube videos related to Blum–Micali algorithm yet.
We don't have any PDF documents related to Blum–Micali algorithm yet.
We don't have any Books related to Blum–Micali algorithm yet.
We don't have any archived web articles related to Blum–Micali algorithm yet.

References

  1. Bruce Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C, pages 416-417, Wiley; 2nd edition (October 18, 1996), ISBN 0471117099 /wiki/ISBN_(identifier)

  2. Gennaro, Rosario (2004). "An Improved Pseudo-Random Generator Based on the Discrete Logarithm Problem". Journal of Cryptology. 18 (2): 91–110. doi:10.1007/s00145-004-0215-y. ISSN 0933-2790. S2CID 18063426. /wiki/Doi_(identifier)

  3. Bruce Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C, pages 416-417, Wiley; 2nd edition (October 18, 1996), ISBN 0471117099 /wiki/ISBN_(identifier)

  4. Blum, Manuel; Micali, Silvio (1984). "How to Generate Cryptographically Strong Sequences of Pseudorandom Bits" (PDF). SIAM Journal on Computing. 13 (4): 850–864. doi:10.1137/0213053. S2CID 7008910. Archived from the original (PDF) on 2015-02-24. https://web.archive.org/web/20150224041435/http://www.csee.wvu.edu/~xinl/library/papers/comp/Blum_FOCS1982.pdf

  5. Guedes, Elloá B.; Francisco Marcos de Assis; Bernardo Lula Jr (2010). "Examples of the Generalized Quantum Permanent Compromise Attack to the Blum-Micali Construction". arXiv:1012.1776 [cs.IT]. /wiki/ArXiv_(identifier)