Aléatoire véritable ou pseudo-aléatoire
Distinguez les sources d’entropie matérielles des PRNG logiciels.
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.
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
- Aléatoire véritable ou pseudo-aléatoire
- PRNG sécurisés sur le plan cryptographique
- Épuisement de l’entropie et erreurs liées aux clés faibles
- Générer des clés, des nonces et des IV en toute sécurité