Blum Blum Shub

Da Wikipedia, l'enciclopedia libera.

L'algoritmo Blum Blum Shub (BBS) è un generatore di numeri pseudo-casuali crittograficamente sicuro proposto nel 1986 da Lenore Blum, Manuel Blum e Michael Shub.

L'algoritmo è il seguente:

  1. Si generino due numeri primi casuali segreti p e q di molti bit, entrambi congruenti a 3 modulo 4 (cioè divisi per 4 danno resto 3) e si calcoli n =p·q
  2. Si generi un numero casuale s (detto seme) appartenente all'intervallo [1, n-1] e coprimo rispetto a n. Si calcoli x0s2 mod n
  3. Per i che va da 1 a l (con l pari al numero di bit casuali che si vogliono generare) si eseguano i seguenti passi:
    1. xixi -12 mod n
    2. zi ← il bit meno significativo di xi
  4. Il risultato dell'algoritmo è la sequenza di bit z1, z2, ..., zl,

Il fatto che p e q siano congruenti a 3 modulo 4 garantisce che il MCM(φ(p -1), φ(q -1)) sia piccolo (il che rende più lungo il ciclo per cui xi torna ad essere uguale a x0).

[modifica] Sicurezza

Questo algoritmo non è adatto alle simulazioni, ma solo alla crittografia a causa della sua lentezza. Ha però una dimostrazione della sua sicurezza dovuta alla difficoltà computazionale della fattorizzazione di grandi numeri interi. Quando i numeri p e q sono scelti appropriatamente, e O(log2(log2 n)) bit di ogni xi sono emessi in output, allora al crescere di n distinguere i bit di output dai bit generati da una fonte realmente casuale è difficile almeno quanto fattorizzare n.

Se la fattorizzazione dei numeri interi è complessa (come si sospetta) allora con un n sufficientemente grande il BBS genererà bit privi di pattern ricorrenti che possano essere scoperti in tempi ragionevoli. È però teoricamente possibile che venga scoperto un giorno un algoritmo di fattorizzazione efficiente, nel qual caso la sicurezza del BBS non sarà più garantita.

[modifica] Bibliografia

  • Lenore Blum, Manuel Blum, and Michael Shub, "A Simple Unpredictable Pseudo-Random Number Generator", SIAM Journal on Computing, volume 15, pagg. 364–383, maggio 1986.
  • A. Menezes, P. van Oorschot, and S. Vanstone, "Handbook of Applied Cryptography", CRC Press, pagg. 186–187, 1996.


Strumenti personali