bob12 : A t'on avis, il y a combien de chance pour que la signature GPG d'un mail contienne un message donné de 10 lettres ?
vinc : Si on considéré qu'une signature comporte des lettre minuscules (26), des lettres majuscules (26), et des chiffres (10), on a 62 caractères, sois une chance sur 62 d'obtenir une lettre précise a un endroit précis, si on considéré que la signature est parfaitement aléatoire, et 1 chance sur 62^10 soit 1 chance sur 8,39*10^17 d'obtenir un message précis a un endroit précis. Prenons maintenant la taille d'une signature, disons 600 caractère, on a 590 (et non 60, on est pas forcement cale sur le début) emplacement de 10 car acter, sois 590 chances sur 8,39*10^17 ce qui nous donne une chance sur 1,42*10^15. Pourquoi tu demande ca ?
bob12 : je viens d'envoyer un mail signe a ma boss, et comme par hasard, dans la signature, on peut lire, bien en évidance, en majuscule au milieu de texte tout en minuscule "GROSSEPUTE", et bien sur, elle ne sais pas ce que c'est GPG
vinc : mec, les dieux ne t'aime pas, et tu es dans la merde Commentaires
Ajouter un commentaire
Tout d'abord, il n'y a pas 590 emplacements possibles mais 591 (de 1~10 à 591~600).
Ensuite, vinc ne tient pas compte des cas où la chaîne de caractères se trouve plus d'une fois dans la signature.
Petit exemple simplifié pour illustrer :
Imaginons que la signature ait une longueur de seulement 2 caractères, et que les caractères possibles soient A ou B. On s'intéresse à la probabilité de trouver A dans la signature.
La probabilité de trouver A à un emplacement précis est 1/2. Jusque là, pas de problème.
Par contre, en continuant de suivre la logique de vinc : puisqu'il y a deux emplacements possibles, la probabilité de trouver A dans la signature est 2*1/2 = 1 (ce qui est faux, puisqu'on peut avoir par exemple BB).
Il faudrait retrancher par la probabilité d'avoir A aux deux emplacements en même temps pour arriver au bon résultat. 1-(1/2)^2 = 3/4.
Enfin les erreurs sont tout de même assez minimes pour grandement influencer l'ordre de grandeur du résultat ;)
Chapeau d'avoir déjà fait spontanément ces calculs !
De plus le raisonnement est faux à partir du moment où pour faire une union il ajoute les probabilités des événements isolés sans retrancher les probabilités des intersections de ces événements :
P(A ou B) = P(A) + P(B) - P(A et B)
P(A ou B ou C) = P(A) + P(B) + P(C) - P(A et B) - P(A et C) - P(B et C) + P(A et B et C)
... etc.
Enfin, il faudrait également prendre en compte le fait que GROSSEPUTE n'était pas le seul mot qui aurait eu exactement les mêmes conséquences (PETITEPUTE par exemple, ou même GroSSEPutE). Donc il faudrait faire l'union de chacune de ces probabilités sur une liste exhaustive de ces mots. Là ça devient beaucoup plus complexe puisqu'il faut calculer un nombre énorme de probabilités liées.
Par contre, on peut compter les accents en plus, ce qui nous donne 80 caractères donc 9,31*10^-20 possibilités
Après, on peut en enlever quelques-unes voire faire un peu d'analyse combinatoire mais des lettres peuvent être réutilisées...
Bref: t'as un karma pourri
Un petit script pourrait facilement écrire l'ensemble de ces combinaisons dans un fichier, il faudrait ensuite trier celles qui ont du sens et celles qui n'en ont pas.
Sauf erreur de ma part (j'ai la gueule de bois donc c'est possible), un tel fichier sans aucune mise en forme (si ce n'est un espace entre chaque combinaison) ferait environ 1590106165,5 Go :
11 caractères par combinaison (espace inclu), donc 11 octets, multipliés par 52^10, divisé par 10^9 (pour le nombre en Go).
Des volontaires ?
Pour ceux qui demandent ce qu'est GPG, la signature est le fait de prendre le texte d'un email et le signer avec sa clé privée. Le destinataire utilise alors votre clé publique pour vérifier que vous êtes bien l'auteur du message.
Enfin, pour expliquer a la boss, sauf erreur le même message avec la même clé donne la même signature. Il suffit de lui montrer un exemple et de le refaire avec ce message et voilà.
Mais je ne calculerai pas les probabilités pour vous ;)
J'ai une chance sur deux, d'avoir face en lançant une piece. j'en lance 10, j'ai 10 chances sur deux d'avoir face ... hum problème ^^.