Probleme – Le paradoxe des anniversaires, démontré et mesuré
Exercice · niveau 3 (difficile) · informatique (MP2I/MPI), chapitre 12 — Tableaux associatifs, hachage et sérialisation
Énoncé
Le chapitre affirme que pour cases, la collision devient plus probable que son absence dès clés.
- Démontrer la formule .
- En déduire l'ordre de grandeur du seuil en fonction de .
- Calculer le seuil pour plusieurs , et vérifier l'approximation.
- Que faut-il en conclure pour une empreinte numérique de bits ?
Corrigé
1. La formule. On tire clés, indépendamment et uniformément, dans cases. Notons l'événement « les hachés sont deux à deux distincts ». On conditionne : sachant que les premières clés sont distinctes, la -ième évite les cases déjà prises avec probabilité . D'où, par la formule des probabilités composées,
Le premier facteur vaut — la première clé ne peut entrer en collision avec personne —, et le produit est nul dès , ce qui redonne le principe des tiroirs.
2. L'ordre de grandeur. On passe au logarithme et l'on emploie pour petit :
soit . Cette quantité vaut pour
Le seuil est en , et c'est tout le paradoxe : l'intuition attend un seuil proportionnel à — « il faut à peu près autant de clés que de cases » —, et la réalité en demande la racine. Pour , cela fait au lieu de .
L'explication tient en un comptage : il n'y a pas occasions de collision mais paires de clés, chacune entrant en collision avec probabilité . Le nombre moyen de collisions vaut donc , et il atteint dès . On raisonne sur les paires, pas sur les clés.
3. Les calculs. Mesuré par évaluation exacte du produit :
| premier tel que | |||
|---|---|---|---|
L'approximation est exacte à l'unité près dès . Et pour , : mesuré, , donc une collision avec probabilité — le chiffre du chapitre est confirmé.
Vérification par simulation, tirages de clés dans cases : fréquence observée d'au moins une collision , contre prédits. On ne se contente pas d'une formule : on la met à l'épreuve d'un tirage.
4. Les empreintes de bits. Avec , le seuil est — cinq milliards. Une empreinte de bits entre en collision, plus probablement qu'autrement, dès qu'on en calcule cinq milliards : c'est atteignable par une machine moderne en quelques heures. Une empreinte de bits, elle, cède à valeurs — quelques secondes.
C'est pourquoi les empreintes cryptographiques font bits et non : contre une attaque qui exploite le paradoxe des anniversaires, un condensat de bits n'offre que bits de sécurité. La longueur d'une empreinte se lit toujours divisée par deux.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.