RNG

Une définition du Jargon Français.
Aller à : Navigation, rechercher

Dr enus.png sigle.  [mathématique]. Random Number Generator. Générateur de valeurs aléatoires. En français c'est en théorie un GNA.

C'est difficile à mettre au point car il faut trouver une source de hasard, or un ordinateur est parfaitement déterministe.

Sa qualité est l'un des principaux déterminants de celle de nombreux algorithmes de cryptographie. Autrement dit des données chiffrées ou scellées avec un RNG inadéquat le sont mal, donc un hostile déterminé parviendra probablement à ses fins.

Une bonne solution utilise une source radioactive à l'intensité adéquate, car le moment exact (finement mesuré) de chaque désintégration nucléaire est parfaitement imprévisible. Grâce à une machine de ce genre on obtient un TRNG de bonne qualité.

Une telle source coûte cher, donc les RNG les plus répandus mesurent en lieu et place des événements peu prévisibles tous liés à la machine, à l'utilisateur ou à leur environnement. Une solution classique consiste à chronométrer avec la plus grande précision disponible (couramment au plus le millième de seconde) les actions de l'utilisateur (intervalles entre des appuis sur des touches du clavier, entre des mouvements de souris...) ainsi que diverses activités de composants du système (en particulier des trames ou paquets réseau, des mouvements des têtes de disque dur...). On obtient ainsi quasiment en permanence de grands nombres que l'on mélange allègrement.

À défaut on doit se contenter d'un Pseudo Random Number Generator (PRNG), qui repose sur une fonction mathématique tritouillant un nombre (appelé « semence ») afin de produire une première valeur « aléatoire », puis cette dernière afin de produire le suivant, et ainsi de suite. Fournir une semence donnée produira ainsi toujours la même séquence de nombres aléatoires.

Direction.png Pour aller plus loin: CSPRNG.