En supposant un "caractère aléatoire complet" et une chaîne de 20 caractères, chaque caractère pouvant être l'un des 62 caractères possibles:
- Quel est le nombre total de combinaisons possibles? (Deviner 20 à la puissance de 62.)
- De plus, si de nouvelles chaînes sont sélectionnées au hasard les unes après les autres et ajoutées à une liste de chaînes sélectionnées jusqu'à présent, le nombre de chaînes qui doivent être sélectionnées avant que la chance de sélectionner une chaîne qui a déjà été sélectionnée soit inférieur à 1 sur 100000 ( )?
Remarque: 62 provient de: chiffres numériques (0-9), lettres majuscules (AZ) et lettres minuscules (az).
probability
combinatorics
bévues
la source
la source
Réponses:
Nombre total de possibilités
1) Fermez! Vous avez 62 choix pour le premier personnage, 62 pour le 2e, etc., vous vous retrouvez donc avec , ce qui est un nombre absurdement énorme.62 ⋅ 62 ⋅ 62 ⋅ ⋯ 62 = 6220
Collision avec une chaîne "cible"
2) Comme nous l'avons établi ci-dessus, il existe chaînes potentielles. Vous voulez savoir combien vous devez deviner pour avoir plus de 1 chance sur 100 000 de deviner la chaîne "cible". Essentiellement, vous demandez ce que x6220 Pour être clair, il faudrait arrondir x (ou en ajouter un, s'ils sont exactement égaux), mais comme vous le verrez dans une seconde, cela n'a pas vraiment d'importance.
Grâce à l'algèbre de base, nous pouvons réorganiser cela comme
Pour faire le calcul, est environ 7 × 10 15 , alors appelons le tout 7 × 10 30 ou, plus succinctement, beaucoup.6.220 7 ⋅ 1015 7 ⋅ 1030
C'est, bien sûr, pourquoi les mots de passe longs fonctionnent très bien :-) Pour les vrais mots de passe, bien sûr, vous devez vous soucier des chaînes de longueur inférieure ou égale à vingt, ce qui augmente encore plus le nombre de possibilités.
Doublons dans la liste
Maintenant, considérons l'autre scénario. Les chaînes sont générées de façon aléatoire et nous voulons déterminer combien peuvent être générées avant qu'il y ait une chance de 1/100 000 de faire correspondre deux chaînes. La version classique de ce problème est appelée le problème d'anniversaire (ou «paradoxe») et demande quelle est la probabilité que deux personnes sur n aient le même anniversaire. L'article de wikipedia [1] semble décent et contient des tableaux qui pourraient vous être utiles. Néanmoins, je vais essayer de vous donner la saveur de la réponse ici aussi.
Quelques points à garder à l'esprit:
-La probabilité d'un match et de ne pas avoir de match doit être égale à 1, donc et vice versa.P( correspondance ) = 1 - P( pas de correspondance )
-Pour deux événements indépendants et B , la probabilité de P ( A & B ) = P ( A ) ⋅ P ( B ) .UNE B P( A & B ) = P( A ) ⋅ P( B )
Pour obtenir la réponse, nous allons commencer par calculer la probabilité de ne pas voir de correspondance pour un nombre fixe de chaînes . Une fois que nous savons faire cela, nous pouvons définir cette équation égale au seuil (1/100 000) et résoudre pour k . Pour plus de commodité, appelons N le nombre de chaînes possibles ( 62 20 ).k k N 6220
Références
[1] http://en.wikipedia.org/wiki/Birthday_problem
[2] Mathis, Frank H. (juin 1991). "Un problème d'anniversaire généralisé". SIAM Review (Society for Industrial and Applied Mathematics) 33 (2): 265-270. Lien JSTOR
la source