Calculer le nombre de combinaisons possibles

Bonjour à tous !
Je fais actuellement des études en cryptographie. J'ai un problème pour calculer le nombre de combinaisons possibles d'un mot de passe en sachant des choses à son sujet (sans le connaître complètement).

Voici ce que je sais.
- Le mot de passe est composé de 8 lettres majuscules.
- Le mot de passe ne peut pas compter plus de 2 fois la même lettre.
- Si il contient deux fois la même lettre, elles ne sont jamais suivie l'une de l'autre.
- le mot de passe ne contient jamais la même séquence de plus de 2 lettres (ex: ABCDEFAB ne fonctionne pas car AB se répète).

Je n'ai pas besoin du développement mais juste du nombre de combinaisons possibles de mots de passe respectant ces critères.
Merci d'avance pour votre aide précieuse !
Bien à vous.
Rams3s.

Réponses

  • Personne? ::'-(
  • Bonjour Rams3s,

    Juste quelques éléments de réflexion pour démarrer.

    Déjà pour ta première contrainte, tu as sauf erreur $26^8$ possibilités pour un alphabet de $26$ lettres et un mot de passe de $8$ lettres. C'est OK, ça ?

    Deuxième contrainte : il y a moins de possibilités que ci-dessus. Pour ta 1ère lettre, tu as le choix parmi $26$ lettres, pour la seconde lettre, pareil. Pour la 3ème et la 4ème lettres, par contre tu dois éliminer une lettre, pour éviter que plus de deux lettres se suivent. Idem pour la 5ème et 6ème, encore pareil pour la 7ème et dernière lettre. Ce qui ferait : $26.26.25.25.24.24.23.23 = 128737440000$ possibilités.

    Qu'as-tu essayé ?
  • Ta 3ème contrainte va encore dégraisser le nombre de possibilités $N_1$ calculé au-dessus.

    Il faut éviter tout ce qui est du type : AABCDEF, BAACDEF, BCAADEF, [...], BCDEFAA. Ce qui fait combien pour la lettre A ? 6 possibilités. Pareil pour toutes les autres lettres, ce qui élimine $6*26 =156$ possibilités.

    Ton nouveau nombre de possibilités est donc : $N_1 - 156$. Tu suis ?
  • Bonjour,

    Pour l'instant c'est ça.
    Je doit obtenir le nombre de combinaison final possible pour connaitre le temps de brute force un tel mot de passe et voir si ca vaut le coup de coder un logiciel éliminant ces possibilité.
    Quand est-il de la dernière contrainte?
  • Si c'est juste pour des besoins informatiques, tu peux tirer au hasard 10000 suites de 8 lettres, et tu comptes combien satisfont toutes les conditions sauf la dernière, et combien satisfont toutes les conditions, ça te donnera une idée.
  • C'est donc impossible de calculer cela de manière précise?

    Tirer 10000 au hasard puis demander a un logiciel (que je dois coder moi même) de trouver ceux qui répondent aux critères pour avoir une moyenne est inutile sinon je code le logiciel tout de suite pour générer ce type de mot de passe à la chaine mais ça prends pas mal de temps.
    Voila pourquoi je souhaite calculer le nombre de possibilité et voir si c'est faisable dans un temps assez court.
  • Rams3s, ne n'ai pas le temps pardon, mais bien sûr que c'est possible. Maintenant c'est simple. Calcule toutes les possibilités de la dernière contrainte : le nombre de possibilités d'avoir un mdp de plus d'une séquence de deux mêmes lettres + nombre de plus d'une séquence de trois lettres + [...] + nombre de plus d'une séquence de 7 lettres (on n'a plus qu'une séquence pour 8 lettres).
  • Ce n'est pas du tout obligatoire que le mdp aie cette séquence.
    C'est juste que une séquence de maximum deux lettre consécutive est possible mais il est impossible qu'elle se répète dans le reste du mdp.

    Je ne sais vraiment pas comment calculer cela... de plus c'est cette contrainte (avec la seconde) qui est sensée enlever le plus de possibilités.

    Quand tu auras un peu de temps, pourrais-tu calculer cela pour moi s'il te plait?

    PS: voici quand même mon calcul pour la dernière contrainte:

    ABCDEFGH est ok MAIS ABCDEFAB ne fonctionne pas. étant une suite de deux lettres il reste 6 positions soit 3 paires de deux lettres. sachant que deux lettre identique ne se suive jamais et qu'elle ne répète jamais plus de deux fois 52*51*50*49*48*47= 14658134400 mulitplier par 4 car cette suite peu occuper 4 position différentes dans le mdp donc 14658134400*4=58632537600.
    Je sais que ce n'est pas la réponse exact mais cela doit s'en approcher beaucoup.

    Merci d'avance.
    Rams3s
  • En tout cas, je pense que c'est pénible à faire à la main. Déjà, si on prend les deux premières contraintes, j'obtiens en posant $n=26$ :

    $n(n-1)\cdots (n-7) +28 n(n-1)\cdots (n-6)+210n(n-1)\cdots (n-5)+420n(n-1)\cdots (n-4)+105 n(n-1)(n-2)(n-3)$

    ce qui fait $193983426000$. Je n'ai pas le même nombre que Ltav donc au moins l'un de nous s'est trompé. Si on rajoute la troisième contrainte c'est encore calculable sans trop de peine, mais avec la quatrième contrainte ça m'a l'air un peu pénible donc j'ai la flemme. Mais intuitivement il me semble que la quatrième contrainte ne retire pas beaucoup de possibilités.
  • JLT
    Merci pour ta réponse! regarde mon précédent post, je viens de le modifier avec le calcul pour la dernière contrainte. dis-moi si c'est juste stp merci !

    [Inutile de reproduire le message précédent. AD]
  • Je ne sais pas si mon calcul est juste parce que AAABCDEF ne fonctionne pas non plus étant donner que la lettre A se répète trois fois...
    Instinctivement j'ai l'impression que les contraintes données doivent réduire drastiquement le nombre de possibilité. si quelqu'un pouvait prendre le temps de faire le calcul complet ce serait super...

    Merci encore pour votre aide !
    Rams3s
  • Comme je l'ai dit, le calcul est beaucoup plus compliqué que ça, mais la dernière condition n'a pas l'air de retirer beaucoup de possibilités. Voici une estimation grossière. Quand on prend une suite de 8 lettres, il y a 7 suites de 2 lettres consécutives, donc $7\times 6/2=21$ paires de suites de 2 lettres consécutives. Pour chacune de ces paires, la probabilité qu'elles soient identiques est d'environ $1/26^2$, et $21/26^2\simeq 0.03$, ce qui est faible.
  • Rams3s : j'essaierais de regarder plus attentivement ce soir, je n'ai peut-être pas bien lu le problème. Bon courage.
  • Bonsoir,

    J'ai un peu plus de temps. C'est vrai que le problème est plus complexe qu'à ma première lecture. J'ai refait mon calcul avec les deux premières contraintes, d'où le nombre de possibilités (je sépare en facteurs pour mettre en évidence les étapes du calcul) :

    $$8!*\binom{26}{8} + 7!*\binom{26}{7}*\left[\binom{8}{2}\right] + 6!*\binom{26}{6}*\frac{1}{2!}*\left[\binom{8}{2}*\binom{6}{2}\right] +\\ 5!*\binom{26}{5}*\frac{1}{3!}*\left[\binom{8}{2}*\binom{6}{2}*\binom{4}{2}\right] + 4!*\binom{26}{4}*\frac{1}{4!}*\left[\binom{8}{2}*\binom{6}{2}*\binom{4}{2}*\binom{2}{2}\right]$$

    En effet, chaque terme respectif de cette somme représente le nombre de possibilités de chaque cas suivant (dans l'ordre) :

    - Les 8 lettres sont différentes, 0 couple de lettres identiques.
    - 7 lettres sont différentes, 1 couple de lettres identiques.
    - 6 lettres sont différentes, 2 couples de lettres identiques.
    - 5 lettres sont différentes, 3 couples de lettres identiques.
    - 4 lettres sont différentes, 4 couples de lettres identiques.

    Je trouve au total : $193 \ 983 \ 426 \ 000$ possibilités.

    Edit : correction de ma formule et du résultat. J'ai retrouvé mon erreur : Il faut bien diviser les nombres de possibilités de $k$ couples identiques par $k!$ pour éviter de compter les doublons.
  • Edit : ce message, ainsi que les 8 suivants, concernent une version antérieure du message ci-dessus qui a été corrigé depuis.

    Ltav, ton résultat est supérieur à $26^8$, ce n'est pas possible.
  • Attends, je vérifie.
  • Oui, j'ai mal traduit mon raisonnement dans la formule : il est clair qu'on ne peut pas avoir "7 lettres sont différentes, 1 couple de lettres identiques", mais "6 lettres sont différentes, 1 couple de lettres identiques", "4 lettres sont différentes, 2 couple de lettres identiques", etc. puisqu'il faut 8 lettres au total à chaque fois. Mon raisonnement est normalement correct. Je corrige.
  • O.K, merci de ta remarque. J'ai l'impression que ce calcul "écrème" beaucoup plus le nombre total des $26^8 = 208 \ 827 \ 064 \ 576$ possibilités (ce qui est bon signe). Le raisonnement vous paraît bon ?
  • Non, s'il y a un couple de lettres identiques alors il y a bien 7 lettres au total. Une lettre répétée et 6 lettres non répétées. Ta formule ne reflète pas cela.
  • Pourquoi ? Si tu fais référence à ce terme : $$6!*\binom{26}{6}*\left[\binom{8}{2}\right]$$

    il reflète bien ce que tu dis, non ? 6 lettres différentes et un couple identique, ce qui fait 8 lettres...

    Idem pour les autres termes.

    N.B. D'ailleurs, pourquoi parles-tu de "7 lettres" ?
  • Je précise que tu choisis ce couple identique parmi les 8 lettres sans faire attention à l'ordre des deux lettres égales bien sûr (donc c'est une combinaison de 2 parmi 8 : $\binom{8}{2}$), puis tu choisis parmi les places qui restent 8 - 2 lettres différentes parmi les 26 lettres de l'alphabet, d'où : $6!*\binom{26}{6}$. C'est bien ce que j'ai écris ?
  • Le terme $\binom{8}{2}$ signifie que tu as choisi deux emplacements, correspondant à l'endroit des lettres répétées. Il faut encore attribuer une lettre à ces deux emplacements parmi les lettres qui n'ont pas encore été "consommées".
  • Oui, le pire est que j'en avais tenu compte dans ma première formule incorrecte.
  • J'ai compris le problème original dans ma formule de dénombrement, il n'était pas dans le nombre de lettres différentes à compter : en fait, il ne fallait pas oublier de diviser chaque terme comptant les $k$ couples identiques possibles par la factorielle $k!$ (l'ordre des couples ne joue pas).

    http://www.les-mathematiques.net/phorum/read.php?12,1715250,1716376#msg-1716376

    Du coup, on arrive au même résultat pour la seconde contrainte par des voies différentes.

    Pour la troisième contrainte, au moins, on peut utiliser la formule que j'ai calculée, mais en retranchant de chaque coefficient binomial $\binom{8}{2}$, $\binom{6}{2}$, $\binom{4}{2}$, le nombres possibles de couples de lettres identiques qui se suivent. En posant $n=26$, on aurait quelque chose du genre (avec des entiers $\alpha_i,\beta_i,\gamma_i$ à déterminer) :

    $$8!*\binom{n}{8} + 7!*\binom{n}{7}*\left[\binom{8}{2} - \alpha_1 \right] + 6!*\binom{n}{6}*\frac{1}{2!}*\left[\left(\binom{8}{2} - \alpha_2\right)*\left(\binom{6}{2} - \beta_2\right)\right] +\\ 5!*\binom{n}{5}*\frac{1}{3!}*\left[\left(\binom{8}{2} - \alpha_3\right)*\left(\binom{6}{2} - \beta_3\right)*\left(\binom{4}{2} - \gamma_3\right)\right] +\\ 4!*\binom{n}{4}*\frac{1}{4!}*\left[\left(\binom{8}{2} - \alpha_4\right)*\left(\binom{6}{2} - \beta_4\right)*\left(\binom{4}{2} - \gamma_4\right)\right]$$
  • @Ltav : j'avais utilisé plus ou moins ta méthode, c'est bien que tu aies vérifié mon calcul car on n'est jamais à l'abri d'une étourderie.

    Avec les trois premières contraintes, je trouve la valeur 153 977 584 800.

    Voici quelques étapes de calcul. Notons d'abord $c_j$ le nombre de $j$-uplets $(A_1,\ldots,A_j)$ tels que pour tout $i$, $A_i$ est un ensemble de deux nombres consécutifs parmi $\{1,\ldots,8\}$, et tel que les $A_1,\ldots,A_j$ soient deux à deux disjoints. On a $c_j=j!\binom{8-j}{j}=(8-j)(7-j)\cdots (9-2j)$. On a ainsi

    $c_0=1$, $c_1=7$, $c_2=30$, $c_3=60$ et $c_4=24$.

    En utilisant la formule du crible, on trouve que le nombre de possibilités est $\sum_{k=0}^4 a_kn(n-1)\cdots(n-7+k)$, où

    $$a_k=\frac{1}{k!}\sum_{j=0}^k (-1)^k\binom{k}{j}\binom{8-2j}{2}\binom{6-2j}{2}\cdots\binom{10-2k}{2}c_j.$$

    On a ainsi $a_0=1$,
    $a_1=\binom{8}{2}-c_1=21$,
    $a_2=\frac{1}{2}\left(\binom{8}{2}\binom{6}{2}c_0-2\binom{6}{2}c_1+c_2\right)=120$,
    $a_3=\frac{1}{6}\left(\binom{8}{2}\binom{6}{2}\binom{4}{2}-3\binom{6}{2}\binom{4}{2}c_1+3\binom{4}{2}c_2-c_3\right)=185$
    $a_4=\frac{1}{24}\left(\binom{8}{2}\binom{6}{2}\binom{4}{2}-4\binom{6}{2}\binom{4}{2}c_1+6\binom{4}{2}c_2-4c_3+c_4\right)=36$ donc le nombre de possibilités est
    $$n\cdots(n-7)+21 n\cdots (n-6)+120 n\cdots (n-5)+185 n\cdots (n-4)+36 n\cdots (n-3).$$
  • Avec les quatre contraintes, je trouve :

    avec 8 lettres différentes
    $$A_{26}^{8}$$
    avec 7 lettres différentes
    $$C_7^2\times A_{26}^7$$
    avec 6 lettres différentes
    $$\left(C_6^2+\color{\red}{C_7^3-C_5^3}+C_7^3\right)\times A_{26}^6$$
    Edit : erreur, remplacer par
    $$\left(C_6^2+C_8^4-C_6^4+C_7^3\right)\times A_{26}^6$$
    avec 5 lettres différentes
    $$\begin{aligned}
    &\left( 0+2+1+2+C_8^2+C_7^1+1+C_7^1+1+4+C_8^2+C_8^2\right.\\
    &\left.\qquad{}+C_8^2-C_6^2+2+C_7^1\right)\times A_{26}^5
    \end{aligned}$$
    avec 4 lettres différentes
    $$20\times A_{26}^4$$

    PS. Quelques explications pour la 3e ligne. J'ai trois configurations
    $$\begin{array}{cccc}
    1&1&2&2\\
    1&2&1&2\\
    1&2&2&1
    \end{array}$$
    comptées chacune avec une multiplicité représentant le nombre de façons de remplir à huit : respectivement $C_6^2$, $C_8^4-C_6^4$ (erreur réparée ici aussi) et $C_7^3$. Le calcul de ces multiplicités est un décompte de rangements de chaussettes dans des tiroirs.
  • @GaBuZoMeu : d'accord avec la première et la deuxième ligne. Par contre je n'ai rien compris à ton explication sur la troisième ligne. Peux-tu réexpliquer lentement ?
  • Un p'tit dessin ? Pour remonter de b à a (calcul de multiplicité), la règle est d'arriver en subdivisant le chemin à 9 arêtes, une arête ne pouvant avoir un but égal à sa source, et deux arêtes différentes ne pouvant avoir même source et même but.80454
  • Peux-tu détailler ton calcul du nombre de configurations de la forme 1212 ?
  • Ah la la, faut tout lui mâcher à ce JLT ! :-D
    Mais ça a l'avantage de me faire voir une erreur de calcul de ma part.

    Il me reste 4 emplacements de lettres à placer (quatre points sur le chemin de b. J'ai cinq tiroirs pour ranger les quatre chaussettes : $C_8^4$ possibilités. Mais il est interdit d'avoir deux arêtes directes de 1 à 2, sans étape, autrement dit deux des tiroirs ne peuvent pas rester simultanément vides. Il faut donc enlever $C_6^4$ rangements.
    La multiplicité est $C_8^4-C_6^4$ (et pas $C_7^3-C_5^3$ comme j'avais écrit).

    JLT, si tu vois d'autres bêtises, signale-les !
  • Le reste m'a air bon. Le nombre que tu trouves avec 4 contraintes est inférieur de 2% au nombre que j'ai trouvé avec 3 contraintes, ce qui concorde assez bien avec mon pronostic.
  • Oulala.... Donc finalement cela fait combien de possibilités?
  • Voir le message de GaBuZoMeu. Si tu ne comprends pas ses notations, regarde la définition d'un arrangement et d'une combinaison :

    https://fr.wikipedia.org/wiki/Combinaison_(mathématiques)

    Ca fait environ 150 milliards.
Connectez-vous ou Inscrivez-vous pour répondre.