informatique (MP2I/MPI) · Chapitre 12 · Exercice de TD
Problème — Le paradoxe des anniversaires, démontré et mesuré
Tableaux associatifs, hachage et sérialisation · niveau 3 (difficile)
É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.
Exercices semblables
- Le facteur de charge, et ce qu'il permet de prévoir corrigé
- Adressage ouvert : la suppression naïve casse la recherche corrigé
- Le pire cas provoqué, chronométré corrigé
- Problème — L'aller-retour de la sérialisation d'un arbre corrigé
- Problème — Une table de hachage par chaînage, sur tableaux statiques corrigé