Les générateurs de nombres aléatoires : Comment fonctionnent-ils ?

Les générateurs de nombres aléatoires ou RNG sont des outils qui permettent de produire une séquence de nombre aléatoirement, et dont la signification ne peut être prédite. En tout, il y a trois types de RNG, à savoir : le Pseudo-Random Number Generator (PRNG), le True Random Number Generator (TRNG) et le Hardware Random Number Generator (HRNG). Dans cet article, on vous apporte les détails essentiels à connaître sur les RNG et leur fonctionnement selon le modèle.

PRNG : Pseudo-Random Number Generator (Générateur de nombres pseudo-aléatoires)

Les générateurs PRNG génèrent des séquences de nombre aleatoire entre 1 et 10. Elles semblent être tirées au hasard. Mais en réalité, ces chiffres sont les produits d’un algorithme déterministe. Autrement dits, les chiffres générés par le dispositif Pseudo-Random Number Generator ne peuvent pas être considérés comme vraiment aléatoires.

A lire également : Où acheter le moins cher iPhone XS, iPhone XS Max et iPhone XR en Janvier 2019

La séquence de chiffre issu du PRNG sont déterminés par l’utilisation de deux éléments :

  • une valeur appelée graine initiale du PRNG qui va servir de point de départ pour l’algorithme
  • une formule mathématique qui va être utilisée afin de générer une séquence de nombres qui se rapprochent du caractère aléatoire réel. Il s’agit notamment de la séquence de nombres présente une certaine propriété du hasard.

Il faut comprendre que la qualité des nombres pseudo-aléatoires générés par le PRNG dépend en grande partie de la qualité de la graine initiale choisie ainsi que de la formule mathématique utilisée. Si la formule utilisée est prévisible, il y a des risques que l’algorithme génère une séquence de nombre prévisible aussi. Voici quelques exemples de méthodes qui permettent de générer des nombres pseudo aléatoire :

A découvrir également : Article 475-1 du Code de procédure pénale : explication de l'article de loi

  • la méthode de nombres Fibonacci
  • la congruence linéaire
  • la méthode des carrés moyens

Le TRNG : True Random Number Generator (Générateur de nombres vraiment aléatoires)

Contrairement aux PRNG, le TRNG est un type de générateur de nombres aléatoires qui ne nécessite pas de valeur de graines initiale ni de formule mathématique pour générer des nombres aléatoires. Ce type de générateur permet de générer de vrais nombres aléatoires.

Les nombres sont, en l’occurrence, issus de l’exploitation des sources d’entropie, physiques ou naturels, principalement des phénomènes physiques imprévisibles. Les lancers de pièces, les lancers de dés ou encore les jeux de roulettes sont des exemples parfaits de l’utilisation de ce type de générateur de nombre aléatoire.

HRNG : Hardware Random Number Generator (Générateur de nombres aléatoires matériel)

Pour obtenir une séquence de nombre vraiment aléatoire, un générateur de nombres aléatoires HRNG sera plus adapté. Il s’agit d’un dispositif qui génère des nombres au hasard à partir d’un processus physique qui change constamment d’une manière imprévisible. En fait, le HRNG reposent sur des composants électroniques spécifiques pour capturer et traiter les sources d’entropie physiques et générer des nombres aléatoires.

Les générateurs HRNG sont très utilisés dans le milieu de l’informatique, plus précisément, la sécurité des données en raison de sa capacité à générer des fortes clés cryptographiques. Son utilisation nécessite néanmoins du matériel spécialisé. Les HRNG conviennent aux applications qui nécessitent à la fois un traitement à grande vitesse et des niveaux de sécurité élevés.