Par contre, des outils comme pwgen génèrent des mdp qui ne sont pas des mots du dictionnaire déformés, mais qui sont prononçables, et donc facilement mémorisables
Si je devais écrire un programme de type pwgen ou apg, je procéderai de la même manière qu'un générateur de noms de hack'n'slash, par exemple celui de tome, c'est-à-dire, de la façon suivante:
On choisit un dictionnaire (liste de mots) D
On transforme chaque mot en liste de n-uples de lettres (je choisis un symbole supplémentaire * qui n'apppartient pas à l'alphabet et je prends ici n=3) de façon à ce que le mot `Bob' devienne:
**B
*Bo
Bob
ob*
b**
On fait une analyse statistique (une table de transitions) des suites de triplets générés en 2.
On simule la loi empirique (générée en 3.) de la n-ième lettre de ces triplets connaissant les deux premières lettres, pour générer un nouveau mot.
On obtient ainsi des mots qui ressemblent aux mots du dictionnaire D mais qui n'appartiennent pas forçement à D. (Mais si D contient trop peu de mots ou bien est trop grand, on ne retrouve que les mots de D.)
Avec quelques précautions, cette méthode devrait donner des résultats acceptables.
[^] # Re: code PIN ?
Posté par Michaël (site web personnel) . En réponse au journal Vol de smartphone et données personnelles. Évalué à 3.
Si je devais écrire un programme de type pwgen ou apg, je procéderai de la même manière qu'un générateur de noms de hack'n'slash, par exemple celui de
tome, c'est-à-dire, de la façon suivante:On transforme chaque mot en liste de n-uples de lettres (je choisis un symbole supplémentaire * qui n'apppartient pas à l'alphabet et je prends ici n=3) de façon à ce que le mot `Bob' devienne:
**B
*Bo
Bob
ob*
b**
On fait une analyse statistique (une table de transitions) des suites de triplets générés en 2.
On simule la loi empirique (générée en 3.) de la n-ième lettre de ces triplets connaissant les deux premières lettres, pour générer un nouveau mot.
On obtient ainsi des mots qui ressemblent aux mots du dictionnaire D mais qui n'appartiennent pas forçement à D. (Mais si D contient trop peu de mots ou bien est trop grand, on ne retrouve que les mots de D.)
Avec quelques précautions, cette méthode devrait donner des résultats acceptables.