Cryptology Academy · Leçon

Aléatoire véritable ou pseudo-aléatoire

Distinguez les sources d’entropie matérielles des PRNG logiciels.

Leçon 1 sur 413 étapes

Aléatoire véritable ou pseudo-aléatoire est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.

Pourquoi l'aléa est important

La sécurité cryptographique dépend fondamentalement de l'imprévisibilité. Si un attaquant peut prédire votre clé, votre IV ou votre nonce, même partiellement, l'ensemble du système cryptographique peut s'effondrer. Un aléa faible a provoqué des compromissions catastrophiques dans le monde réel.

Générateurs de nombres véritablement aléatoires (TRNG)

Les TRNG recueillent de l'entropie physique : bruit thermique dans les résistances, bruit de grenaille dans les diodes polarisées en inverse, désintégration radioactive, mouvements de la souris, temps entre les frappes et latences de déplacement des disques. Il s'agit de phénomènes physiques véritablement imprévisibles.

Réservoir d'entropie

L'OS maintient un réservoir d'entropie, c'est-à-dire un ensemble d'échantillons de bruit physique combinés par XOR puis hachés ensemble. Linux : /dev/random et /dev/urandom puisent dans ce réservoir. Celui-ci est réalimenté en continu pendant le fonctionnement du système.

Générateurs de nombres pseudo-aléatoires (PRNG)

Un PRNG (également appelé générateur déterministe de nombres aléatoires ou DRNG) transforme une courte graine en un long flux d'octets pseudo-aléatoires à l'aide d'un algorithme déterministe. Avec la même graine, il produit la même sortie. Il ne convient pas à la cryptographie, sauf s'il est initialisé avec une véritable entropie.

PRNG et CSPRNG

Un PRNG peut présenter un biais statistique détectable ou être prévisible à partir de la sortie observée. Un PRNG cryptographiquement sûr (CSPRNG) ajoute : (1) la sécurité prospective (la sortie passée n'est pas prévisible à partir de l'état actuel) et (2) la résistance au retour en arrière (la sortie future n'est pas prévisible à partir de la sortie passée).

Test de distinction

Un PRNG est cryptographiquement sûr si aucun algorithme en temps polynomial ne peut distinguer sa sortie d'une séquence véritablement aléatoire avec une probabilité nettement supérieure à 1/2. C'est le critère d'imprévisibilité du bit suivant.

Sources d'entropie sur différentes plateformes

Linux : /dev/urandom (non bloquant après l'initialisation de la graine), appel système getrandom(). Windows : CryptGenRandom(), BCryptGenRandom(). macOS/iOS : SecRandomCopyBytes(). Navigateur : window.crypto.getRandomValues(). Toutes ces sources alimentent le réservoir d'entropie de l'OS.

Tests statistiques

NIST SP 800-22 fournit 15 tests statistiques de l'aléa : fréquence, fréquence par bloc, séries, test universel de Maurer, complexité linéaire, etc. Réussir les tests statistiques ne prouve pas la sécurité cryptographique, mais seulement l'absence de biais manifeste.

Qualité de la graine

Un CSPRNG initialisé avec une entropie faible (par exemple l'heure actuelle en secondes) est prévisible. Un attaquant qui connaît la graine peut reconstruire toute la sortie. Initialisez toujours la graine à partir de l'entropie de l'OS : os.urandom(32) en Python, et non time.time() ou random.random().

Générateurs aléatoires matériels

RDRAND d'Intel (instruction x86) renvoie des octets aléatoires générés par le matériel à partir d'un TRNG intégré à la puce. Des équivalents matériels existent chez AMD et ARM. Linux mélange RDRAND dans /dev/urandom. Il est utilisé comme entropie supplémentaire, et non comme source unique, en raison de préoccupations liées à la confiance.

Générateurs quantiques de nombres aléatoires

Les QRNG utilisent des phénomènes de mécanique quantique (temps d'arrivée des photons, fluctuations du vide) pour produire une sortie véritablement aléatoire. Des QRNG commerciaux (ID Quantique, Quantis) sont utilisés dans les applications à haute sécurité. Leur coût est prohibitif pour un usage général.

Vérification rapide

Quelle propriété distingue un CSPRNG d'un PRNG ordinaire ?

Récapitulatif

Les TRNG recueillent de l'entropie physique ; les PRNG développent une graine de manière déterministe ; les CSPRNG sont indiscernables d'un véritable aléa. Les réservoirs d'entropie de l'OS combinent ces deux types de sources. Ensuite : les conceptions de CSPRNG utilisées en pratique.

Gratuit pour commencer

Apprends Cryptology Academy avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
67
Leçons
261

Questions Fréquemment Posées

La leçon « Aléatoire véritable ou pseudo-aléatoire » est-elle gratuite ?

Oui — le texte complet de « Aléatoire véritable ou pseudo-aléatoire » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Aléatoire véritable ou pseudo-aléatoire » ?

Distinguez les sources d’entropie matérielles des PRNG logiciels. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cryptology Academy ?

Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Aléatoire véritable ou pseudo-aléatoire » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?

Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Aléatoire véritable ou pseudo-aléatoire
  2. PRNG sécurisés sur le plan cryptographique
  3. Épuisement de l’entropie et erreurs liées aux clés faibles
  4. Générer des clés, des nonces et des IV en toute sécurité
← Retour à Cryptology Academy