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.
X6220≥ 1dix5
Grâce à l'algèbre de base, nous pouvons réorganiser cela comme
dix5Xdix5Xdix5XX≥ 6220≥ ( 6,2 ⋅ 10 )20≥ 6,220⋅ 1020≥ 6,220⋅ 1015
Pour faire le calcul, est environ 7 × 10 15 , alors appelons le tout 7 × 10 30 ou, plus succinctement, beaucoup.6.2207 ⋅ 10157 ⋅ 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 ) .UNEBP( 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 ).kkN6220
kNPk = 1( pas de correspondance ) = NN= 1NPk = 2( pas de correspondance ) = N- 1NN- 2Pk = 3( pas de correspondance ) = N- 2Nk
Pk( pas de correspondance ) = N- k + 1N
k
P( Aucun match ) = NN⋅ N- 1N⋅ N- 2N⋯ N- k + 1N
P( Aucun match )P( Aucun match )P( Aucun match )= N⋅ ( N- 1 ) ⋅ ( N- 2 ) ⋯ ( N- k + 1 )Nk= N!Nk⋅ ( N- k ) != k ! ⋅ ( Nk)Nk
k ! = ( k ) ⋅ ( k - 1 ) ⋅ ( k - 2 ) ⋯ 1N- k + 1 ⋯ Nk1100 , 000k100 !
k = 0,5 + 0,25 - 2 Nln( p )------------√
N= 48 , 0003,7 ⋅ 1015
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