L'aléatoire en informatique - mythe ou réalité ?
Publié le 17/04/2024
Extrait du document
«
L'aléatoire en Informatique : Mythe ou
Réalité ?
Intro :
Imaginez-vous assis face à une table plane et un dés à six face non pipé.
Lancer
alors ce dés.
Vous allez obtenir un résultat compris entre 1 et 6.
Ce résultat
était-il prévisible? Bien sûr, chaque face avait 1⁄6 chances de tomber, mais rien
n'était sûr pourtant.
Cela s’appelle une expérience aléatoire.
Une expérience est dite aléatoire lorsqu'elle a plusieurs résultats
possibles et qu'on ne peut pas prévoir lequel sera obtenu.
Le résultat
d'une telle expérience est uniquement dû au hasard.
Demander maintenant à un ordinateur de le faire, comment va-t-il s’y prendre?
En python, une manière simple de le faire et d’importer puis d’appeler le
module Random, mais sans ce module, comment faire pour créer cet aléatoire
sur un ordinateur fonctionnant à base d’opération logique?
Problématique :
L'aléatoire peut-il réellement exister dans un environnement déterministe
comme un ordinateur?
(Présentation du plan)
Développement :
P1 : Limites de l'aléatoire en informatique
A : nature des système informatique + les règles qui les
définissent (fonctionnement des système informatique)
-
-
-
-
Les ordinateurs fonctionnent selon des instructions logiques et des
algorithmes préétablis, définissant ainsi un cadre déterministe pour
leurs opérations.
Les algorithmes sont d’abord des concepts mathématiques pour
résoudre des problèmes systématiques donnés avec des opérations
logiques.
Chaque interaction avec un ordinateur est régie par des lois strictes de la
logique binaire, où chaque bit représente un choix entre 0 et 1, dictant le
flux d'informations.
Les résultats produits par un ordinateur sont entièrement prévisibles
(sauf panne ou bug), basés sur les entrées fournies et les instructions
données, reflétant ainsi une détermination inhérente à leur
fonctionnement.
1
B : les algorithme de génération de l’aléatoire en informatique
(PRNG)
-
-
-
-
Les générateurs de nombres pseudo-aléatoires (PRNG) produisent des
séquences de nombres apparemment aléatoires à partir d'une graine
initiale déterminée par des facteurs tels que l'horloge système.
Contrairement à leur nom, les nombres produits par les PRNG ne sont pas
véritablement aléatoires, mais sont générés à l'aide d'algorithmes
mathématiques.
Cependant, leur déterminisme intrinsèque peut poser des problèmes de
sécurité, car ils peuvent être prévisibles si la graine initiale est connue.
Dans les applications sensibles à la sécurité, des sources d'entropie
(expliquer après) externes sont souvent utilisées pour renforcer la
pseudo-aléatoireité des PRNG.
Il est crucial de choisir des PRNG robustes et de s'assurer que la graine
utilisée est suffisamment aléatoire pour garantir la sécurité des systèmes
qui en dépendent.
C : ce qui est mis en place face à la prédictibilité
Face à la prédictibilité des générateurs de nombres pseudo-aléatoires
(PRNG) et à ses implications potentiellement néfastes pour la sécurité,
plusieurs mesures sont mises en place :
- Utilisation de sources (d'entropie) externes :
- Utilisation de PRNG dans la cryptographie :
- Rotation régulière des graines :
Les systèmes qui nécessitent des nombres aléatoires peuvent collecter
des données provenant de sources externes imprévisibles, telles que des
capteurs physiques, des mouvements de souris, ou des entrées
utilisateur, pour renforcer l’imprédictibilité.
Ces sources fournissent une
variabilité supplémentaire qui rend les séquences de nombres générées
plus difficiles à prédire.
Les PRNG conçus spécifiquement pour des applications sensibles à la
sécurité, comme la cryptographie, doivent être robustes contre les
attaques prédictives.
Ils sont généralement basés sur des algorithmes
cryptographiques solides et sont conçus pour résister à diverses formes
d'analyse statistique et cryptanalytique.
Pour réduire les risques liés à la prédiction des séquences de nombres
générées par les PRNG, il est courant de changer régulièrement la graine
initiale utilisée.
Cela rend plus difficile pour un attaquant de prévoir les
séquences de nombres générées sur une longue période.
- Audit et évaluation continue :
2
Les PRNG utilisés dans des applications critiques font souvent l'objet
d'audits de sécurité et d'évaluations régulières pour vérifier leur
robustesse contre les attaques prédictives.
Les algorithmes et les
paramètres de configuration sont examinés par des experts en sécurité
pour identifier les éventuelles faiblesses et les améliorations possibles.
P2 : Applications de l'aléatoire en informatique
A : Cryptographie : clés sécurisées
Le cryptage des données est un aspect crucial de la sécurité
informatique, s'appuyant sur l'application de l'aléatoire.
Il vise à protéger
la confidentialité et l'intégrité des informations sensibles lors de leur
transmission ou de leur stockage.
L'aléatoire intervient dans plusieurs
aspects de la cryptographie pour garantir la robustesse des systèmes de
sécurité :
Génération de clés sécurisées :
Les clés de cryptage sont essentielles pour sécuriser les données.
Les algorithmes de cryptographie utilisent des nombres
aléatoires pour générer ces clés.
Des générateurs de nombres
aléatoires de haute qualité sont nécessaires pour éviter toute
prédictibilité dans la génération de clés, ce qui pourrait
compromettre la sécurité du système.
Cryptographie à clé publique :
Dans les systèmes de cryptographie à clé publique, des nombres
premiers aléatoires sont utilisés dans la génération de paires de
clés publiques et privées.
Cette aléa est fondamental pour
garantir la sécurité du système et empêcher les attaques basées
sur la factorisation.
Résistance aux attaques :
Les nombres aléatoires sont également utilisés dans les
mécanismes de sécurité pour rendre les attaques par force brute
plus difficiles.
L'incertitude introduite par l'aléatoire rend la
prédiction des clés ou des messages chiffrés considérablement
plus complexe pour les attaquants.
Ainsi, la cryptographie et l'aléatoire sont étroitement liés dans le
domaine de la sécurité informatique, travaillant de concert pour assurer
la confidentialité et l'intégrité des systèmes informatiques face aux
menaces croissantes.
B : Simulation : modélisation de phénomène complexe
La simulation informatique joue un rôle crucial dans la modélisation de
phénomènes complexes, permettant aux chercheurs de comprendre et
de prédire le comportement de systèmes dynamiques à l'aide de
génération aléatoire.
Voici deux exemple de domaines clés où la
simulation est largement utilisée :
3
-
Modélisation de la Diffusion des Particules :
Imaginez que vous souhaitez comprendre comment les parfums se
diffusent dans une pièce.
Vous pourriez créer une simulation
informatique où chaque particule de parfum se déplace de
manière aléatoire dans l'air en fonction des courants d'air et des
obstacles dans la pièce.
Cette simulation vous permettrait de
visualiser comment le parfum se....
»
↓↓↓ APERÇU DU DOCUMENT ↓↓↓
Liens utiles
- Les personnes en situation de handicap en France à l'épreuve de leur inclusion par le sport dans la société: mythe ou réalité ?
- Par le Langage, peut-on agir sur la réalité ?
- essai sur Orphée et Eurydice liant le mythe d'Ovide et le film de Jean Cocteau
- Variable aléatoire 1ere
- Grand oral NSI: les femmes, l'avenir de l'informatique?