L'ordinateur et les dés

La machine ne connaît pas vraiment l'aléatoire

Published

12 févr. 2026

Topic

Methodologie

Author

Kafui Homevo

Malgré sa puissance, l'ordinateur peine à lancer parfaitement des dés.

Autrement dit : il est prévisible.

La génération de nombres aléatoires est sans doute l'une des tâches les plus critiques dans la sécurité d'aujourd'hui. Si vous avez lu mon post récent sur la cryptographie, vous comprendrez mieux leur importance.

On est d'accord : tant que c'est imprévisible, l'attaquant a très peu de chances de connaître le nombre qu'il faut pour accéder à tes donner.

Mais, comment avoir des nombres purement aléatoires ?

L'ordinateur, malheureusement (ou heureusement ?) ne peut pas fournir de nombres purement aléatoires, absolument imprévisibles.

Pourquoi ?

Simplement parce que pour en générer, il a besoin d'une ou plusieurs formules et d'algorithmes complexes, et d'un nombre quelconque pour lancer la machine : c'est le "seed", la graine.

Ainsi, la génération de nombres aléatoires par cette méthode est reproductible, tant que l'on connaît la graine et l'algorithme de génération.

Evidemment que c'est un problème ! Mais un auquel on peut pallier relativement bien (sans pour autant totalement le résoudre) en augmentant la complexité de l'algorithme de génération. Sans parler du système de clés dans le chiffrement symétrique.

Puisque les nombres générés ne sont pas vraiment aléatoires, on les qualifie de nombres "pseudo-aléatoires". L'avantage est que la génération de tels noombres est rapide, parfaite pour les environnements limités en ressources.

Par contre, tant qu'on parle de "pseudo-aléatoire", on parle aussi de nombres réellement aléatoires.

Par définition, il s'agit de nombres issus de processus que l'homme ne peut absolument pas prédire.

Par exemple, la température dans le processeur de ton ordinateur après 33 minutes d'utilisation.

Ou la configuration spatiale des bulles d'air dans une bouteille fermée qu'on secoue.

Ou la mesure instantanée de la force du vent et sa direction sur le toit d'un immeuble.

Ou encore la densité de la population dans un endroit donné fixe de la planète à une heure prise au hasard.

De tels processus sont évidemment imprévisibles par l'homme, et on les utilise dans ce qu'on appelle "True Random Number Generator", TRNG (par opposition aux "Pseudo-Random Number Generator", PRNG).

L'inconvénient : la génération par ces processus est lente et gourmande en ressources, comparée aux PRNG.

Alors, seuls ceux qui peuvent le faire le font, et de manières les plus insolites !

La génération de nombres aléatoires se base donc sur un compromis : avoir des nombres aléatoires rapidement et de moindre qualité, ou en avoir de très bonne qualité, mais cher et de façon lente.

C'est ça l'ingénierie mathématique : trouver les compromis en fonction de chaque situation, le but étant de trouver la solution optimale au problème.

Commentaires

Depuis Abomey (⓿_⓿)

©2025 Kafui Homevo


Create a free website with Framer, the website builder loved by startups, designers and agencies.