Vous parlez bien de la liste de mots préétablie dans laquelle on peut piocher des mots au hasard pour constituer des identifiants secrets ?
L’utilisation de cette liste est équivalente à celle d’un dictionnaire, puisque le dictionnaire est public aussi. Le nombre de suites de N mots tirés au hasard dans une liste de L mots est L^N (L à la puissance N).
Si on prend 6 mots dans un dictionnaire de 5000 mots, on a 5000^6 ≈ 10^22 (22 zéros) possibilités.
Sauf que l’adversaire ne sait pas quel dictionnaire on a utilisé, ni combien il y a de mots, ni même si on a suivi cette méthode. Le nombre de possibilités est donc encore plus élevé. De plus, il y a deux identifiants, donc si on a pris 6 mots pour chaque, on se retrouve avec 5000^12 ≈ 10^44 possibilités.
Le réseau bitcoin calcule actuellement environ 1,5×10^20 hashes par seconde. Or, un hash de ce type est beaucoup plus rapide à calculer qu’une clé publique Scrypt (l’algorithme utilisé dans la Ğ1). Donc même avec des millions d’ordinateurs très puissants, casser un tel mot de passe pourrait prendre des millions d’années.
Mon ordinateur personnel (Intel core i5, 7e génération) plafonne à 170 tentatives par seconde, ce qui est ridicule. (voir ğ1force, outil pour bruteforcer la Ğ1)
Pour ce qui est d’ajouter des majuscules, symboles et chiffres, ça augmente un peu le nombre de possibilités. Cependant si on veut pouvoir s’en souvenir, il faut limiter ces insertions à des choses comme o -> 0 ou e -> 3. Même comme ça on ne se souvient pas forcément de quelle lettre a été remplacée. Il faut donc être sûr de son coup.
À chaque fois que je parle de mot de passe je la place :