Blum Blum Shub
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[1], d'oĂč son nom.
DĂ©finition
On calcule la sortie de BBS en itĂ©rant la suite : oĂč "mod" est l'opĂ©rateur reste (modulo) lors de la division euclidienne par , le produit de deux grands nombres premiers et . La sortie de l'algorithme est le bit le moins significatif ou les derniers bits de .
Les deux nombres premiers, et , devraient tous deux ĂȘtre congrus Ă 3 modulo 4 (cela garantit que chaque rĂ©sidu quadratique possĂšde une racine carrĂ©e qui soit Ă©galement un rĂ©sidu quadratique) et le PGCD de et doit ĂȘtre petit (ce qui fait que le cycle est long).
La graine alĂ©atoire et doivent ĂȘtre premiers entre eux (c'est-Ă -dire que et ne doivent pas ĂȘtre des facteurs de ), et ne doit pas ĂȘtre 0 ou 1.
Sécurité de l'algorithme
Le générateur n'est pas approprié aux simulations, mais plutÎt à la cryptographie, car il est assez lent.
Cependant, il possÚde une sécurité inhabituelle, puisqu'il a été démontré, tout d'abord, qu'il était cryptographiquement sûr sous l'hypothÚse qu'il soit difficile de déterminer si, modulo un entier composé, un nombre est un carré ou non (problÚme de la résiduosité quadratique). Par la suite, il a été prouvé qu'il était cryptographiquement sûr, sous l'hypothÚse que le problÚme de la factorisation soit difficile, et qu'au plus bits de poids faible de chaque soient sortis à chaque itération. Dans ce cas, il n'est pas possible de différencier la suite produite d'une suite réellement aléatoire.
Générateur
Lavarand est un dispositif utilisant des lampes Ă lave afin d'obtenir la graine d'un algorithme BBS, et ainsi gĂ©nĂ©rer des nombres pseudo-alĂ©atoires[2] trĂšs sĂ»rs et mĂȘme des nombres rĂ©ellement alĂ©atoires[3] - [4].
Notes et références
- Blum, Blum et Shub 1986.
- (en) Landon Curt Noll (en), Robert G. Mende, et Sanjeev Sisodiya pour Silicon Graphics, Inc., Brevet U.S. 5,732,138 : Method for seeding a pseudo-random number generator with a cryptographic hash of a digitization of a chaotic system, déposé le 29 janvier 1996, publié le 24 mars 1998, sur Google Patents.
- Audrey Oeillet, « Quand un mur de lampes à lave sert à sécuriser Internet à San Francisco », PLUGIN (01net), (consulté le ).
- (en) Joshua Liebow-Feeser, « LavaRand in Production: The Nitty-Gritty Technical Details », Cloudflare Blog, (consulté le ).
Annexes
Bibliographie
- (en) Lenore Blum, Manuel Blum et Michael Shub, « A Simple Unpredictable Pseudo-Random Number Generator », SIAM Journal on Computing, vol. 15, no 2,â , p. 364â383 (DOI 10.1137/0215025).
- Pascal Junod, "Cryptographic Secure Pseudo-Random Bits Generation: The Blum-Blum-Shub Generator", août 1999. PDF de 21 pages
- Martin Geisler, Mikkel KrÞigÄrd, et Andreas Danielsen. "About Random Bits", décembre 2004. Disponible en PDF et Gzipped Postscript.
- Umesh Vazirani, Vijay V. Vazirani. "Efficient and Secure Pseudo-Random Number Generation", Crypto'84, Lecture Notes in Computer Science Volume 196, p. 193--202, Springer-Verlag (1985)
- Alfred Menezes, Paul C. van Oorschot et Scott Vanstone, "Handbook of Applied Cryptography", 5iÚme édition (août 2001), chapitre 5.5.2. PDF du chapitre 5
Liens externes
- « GMPBBS » (version du 17 février 2015 sur Internet Archive) - une implémentation GNU de l'algorithme Blum Blum Shub.