Exercice 1 : Combinaisons et arrangements
Problème : Analyse combinatoire et limites d’un système de cryptographie par permutation
Section titled “Problème : Analyse combinatoire et limites d’un système de cryptographie par permutation”Énoncé
Section titled “Énoncé”Dans le cadre de la sécurisation des communications d’un système embarqué, on étudie un protocole de chiffrement simplifié. Le système génère des clés de chiffrement en manipulant un alphabet de symboles distincts.
Une clé de chiffrement valide est un mot de passe constitué d’une séquence ordonnée de symboles distincts choisis parmi les disponibles.
Pour des raisons de performance et de sécurité, les ingénieurs hésitent entre deux configurations :
- Configuration A (Système standard) : (les lettres de l’alphabet latin) et .
- Configuration B (Système étendu) : (les 26 lettres minuscules, 26 majuscules et 10 chiffres) et .
On souhaite évaluer la robustesse de ces configurations face à une attaque par force brute, tout en analysant la pertinence mathématique et informatique des modèles probabilistes associés.
Questions
Section titled “Questions”Partie I : Dénombrement et ordres de grandeur
Section titled “Partie I : Dénombrement et ordres de grandeur”- (Rappel de cours) Exprimer en fonction de et le nombre total de clés possibles, que l’on notera , dans le cas où l’ordre des symboles importe et sans remise. Rappeler la formule explicite avec les factorielles.
- Calculer numériquement (sous forme de puissance de 10 approchée) le nombre de clés pour la Configuration A et la Configuration B.
- Un supercalculateur actuel est capable de tester clés par seconde. Calculer le temps moyen (en années) nécessaire pour tester toutes les combinaisons possibles de la Configuration B par force brute. On prendra .
Partie II : Modèle probabiliste et paradoxe des anniversaires généralisé
Section titled “Partie II : Modèle probabiliste et paradoxe des anniversaires généralisé”On suppose désormais qu’un générateur pseudo-aléatoire (PRNG) produit des clés de longueur (avec remises cette fois, chaque symbole pouvant être répété, soit clés possibles équiprobables). On s’intéresse à la probabilité qu’au moins deux clés générées dans un lot de clés soient identiques (collision).
- Soit la probabilité qu’il n’y ait aucune collision parmi clés générées de manière indépendante et uniformément répartie parmi les possibles. Montrer que :
- À l’aide de l’approximation valable pour , proposer un développement limités ou une estimation de pour grand devant mais petit devant . En déduire une approximation de la probabilité de collision .
Partie III : Analyse critique et limites du modèle
Section titled “Partie III : Analyse critique et limites du modèle”- Analyse critique : Dans la réalité, un générateur pseudo-aléatoire informatique (comme un LCG ou même Mersenne Twister non initialisé par une source cryptographique robuste) possède une période finie et ne produit pas des séquences véritablement uniformes et indépendantes. Discuter brièvement de l’impact d’une telle imperfection sur le modèle probabiliste de la question II. Quel est le risque majeur si l’entropie réelle de la source est inférieure à bits ?
Pistes et indications
Section titled “Pistes et indications”- Partie I : Pensez à la définition d’un arrangement sans répétition. Pour les grands nombres, utilisez une calculatrice ou le calcul logarithmique pour estimer l’ordre de grandeur (via la formule de Stirling pour les factorielles si nécessaire).
- Partie II : Raisonnez sur le complémentaire en construisant les clés une par une : la première clé est quelconque, la deuxième ne doit pas être égale à la première, etc.
- Partie III : Pour l’analyse critique, interrogez-vous sur la différence entre le modèle mathématique idéal (équiprobabilité, indépendance) et la réalité physique/informatique (déterminisme des algorithmes, biais de distribution).
Corrigé pas à pas
Section titled “Corrigé pas à pas”Partie I : Dénombrement et ordres de grandeur
Section titled “Partie I : Dénombrement et ordres de grandeur”-
Nombre de clés () : Puisque l’ordre importe et qu’il n’y a pas de remise, il s’agit du nombre d’arrangements de éléments parmi .
-
Calculs numériques :
- Configuration A () :
- Configuration B () :
-
Temps de calcul par force brute pour la Configuration B : Le nombre total de clés est . À raison de clés par seconde, le temps en secondes est : En convertissant en années (avec ) : Commentaire critique : minutes pour casser la Configuration B par force brute pure avec un supercalculateur est un délai très faible en cryptographie moderne. Cela montre que les paramètres choisis ici () sont beaucoup trop faibles pour un usage sécurisé réel (où l’on vise des espaces de clés de l’ordre de ou ).
Partie II : Modèle probabiliste et paradoxe des anniversaires
Section titled “Partie II : Modèle probabiliste et paradoxe des anniversaires”-
Probabilité sans collision : Soit le nombre total de clés possibles avec remise. Pour clés générées successivement :
- La clé peut être choisie librement (probabilité ).
- La clé doit être différente de la (probabilité ).
- La clé doit être différente des précédentes (probabilité ).
Par indépendance des tirages du PRNG, la probabilité qu’aucune collision ne se produise est le produit de ces probabilités :
-
Estimation de la probabilité de collision : En passant par le logarithme népérien : Puisque est petit (car ), on utilise l’approximation : On en déduit que : La probabilité de collision est donc :
Partie III : Analyse critique et limites du modèle
Section titled “Partie III : Analyse critique et limites du modèle”- Analyse critique des limites du modèle :
- Biais du PRNG : Le modèle mathématique suppose une distribution uniforme (chaque clé a exactement la même probabilité ). En pratique, les générateurs pseudo-aléatoires peuvent présenter des biais statistiques (certains multiplets sont générés plus fréquemment que d’autres). Cela invalide l’hypothèse d’équiprobabilité et accélère souvent les attaques par collision (le nombre effectif de clés uniques est inférieur à ).
- Périodicité : Tout PRNG est une machine à états finis ; sa séquence finit par reboucler (période). Si le nombre de clés générées approche ou dépasse cette période, le système devient totalement prévisible.
- Entropie insuffisante : Si l’entropie initiale (la “seed”) du système est faible (par exemple basée sur l’horloge système à la milliseconde près), un attaquant peut balayer l’espace des graines possibles (qui est bien plus petit que ) et retrouver la clé instantanément, rendant caduque l’analyse combinatoire pure de l’espace des clés.