[menu]

LES PHRASES DE PASSE

Pourquoi ce générateur de phrases de passe?

Parce que c'est bien de sensibiliser aux phrases de passe mais quand les phrases de passe données en exemple sont: "batterie-pomme-pigeon", ça peut troubler...
Je voulais donc proposer une page web permettant de générer simplement des vraies phrases de passe (syntaxiquement correctes dans la plupart des cas...). Et si en plus, c'est un peu amusant à utiliser, c'est parfait.

Pourquoi utiliser des phrases de passe ?

Parce qu'en plus d'utiliser du MFA* dès que possible, il est important de choisir un mot de passe fort. C'est-à-dire un mot de passe qui peut difficilement être trouvé, cassé par une personne malveillante.

Et une phrase de passe c'est facile à retenir, c'est plus rapide à taper qu'un mot de passe à la ç#8kOa1$W, et c'est plus robuste aussi.


*Le Multi-Factor Authentication (MFA) ou le Two-Factor Authentication (2FA) c'est, en plus d'une phrase de passe, l'utilisation d'(au moins) un second moyen d'authentification: une empreinte, une clé, un token, etc.
Généralement, on va mixer quelque chose qu'on connait (une phrase de passe), quelque chose qu'on possède (une clé, un smartphone, une adresse mail, etc), quelque chose qui nous caractérise (une empreinte, une tête, un oeil, etc).

Quelles sont les phrases de passe générées par ce générateur?

Les phrases de passe générées* sont d'au moins 26 caractères afin de garantir une entropie minimale de 120 bits et cela même si les alphabets utilisés sont réduits.
Sans modification, les phrases de passe générées ont une entropie supérieure à 200 bits dans la très grande majorité des cas.
Les phrases de passe proposées sont modifiables (et je vous encourage à le faire). Et il est également possible de limiter les alphabets utilisés (uniquement des majuscules, pas d'espace, etc) si c'est nécessaire.


*Les phrases de passe sont générées au niveau du navigateur, sans communication réseau et il est évident qu'aucune phrase de passe générée n'est stockée.

Qu’est-ce que l’entropie ?

La robustesse d'un mot de passe, d'une phrase de passe est calculée grâce à la notion d'entropie* dont les deux éléments variables qui permettent de la calculer sont:
- la longueur;
- l'alphabet utilisé.
Entropie = log2(AlphabetLongueur)
L'alphabet est le jeu de caractères: l'ensemble des minuscules forme un alphabet, l'ensemble des majuscules forme un autre alphabet et c'est également le cas pour les chiffres et les caractères spéciaux qui forment aussi chacun un alphabet distinct.


*L’entropie mesure le niveau d’aléa et d’imprévisibilité. Plus l’entropie est élevée, plus la phrase de passe est difficile à deviner.

Un exemple ?

Pour améliorer l'entropie du mot de passe supermauvais vous pouvez soit jouer sur l'alphabet utilisé (en ajoutant des caractères spéciaux, des chiffres, des majuscules), soit jouer sur la longueur.
Version Alphabet: supermauvais -> Sup3Rm@uv4!s
Version Longueur: supermauvais -> cestsupermauvaislesel

Il est évident que la Version Longueur est plus facile à retenir mais est-elle plus robuste (a-t-elle la plus grande entropie)?
La Version Alphabet utilise l'alphabet supplémentaire des chiffres (10), des lettres majuscules (26) et des caractères spéciaux (~26).
La Version Longueur a une longueur de 21 caractères, avec 9 caractères de plus que la Version Alphabet. Quelle est l'entropie de la Version de Base, de la Version Alphabet et de la Version Longueur?
Esupermauvais = log2 (2612) ≈ 56 bits (longueur: 12, alphabet: 1)
ESup3Rm@uv4!s = log2 ((26+26+26+10)12) ≈ 78 bits (longueur: 12, alphabet: 4)
Ecestsupermauvaislesel = log2 (2621) ≈ 99 bits (longueur: 21, alphabet: 1)

Comme on peut le voir, les versions Alphabet et Longueur permettent d'augmenter l'entropie et donc d'améliorer la robustesse mais il est clair que pour augmenter l'entropie, il est préférable d'augmenter la longueur plutôt que les alphabets utilisés!

Et en utilisant une phrase de passe, on va naturellement augmenter le nombre d'alphabets et la longueur sans créer quelque chose d'impossible à retenir et à taper: on obtient un résultat extrêmement robuste en toute simplicité!
Alors, quelle serait l'entropie d'une vraie phrase de passe?
Version Phrase de Passe: supermauvais -> C'est super mauvais le sel!

Cette Version Phrase de Passe utilise l'alphabet des minuscules (26), l'alphabet des majuscules (26) et l'alphabet des caractères spéciaux (~26). C'est-à-dire deux alphabets de plus (majuscules et caractères spéciaux) que la Version Longueur et un de moins (chiffres) que la Version Alphabet.
Quant à la longueur de cette Version Phrase de Passe, elle est de 27. Les 6 caractères de plus que la Version Longueur correspondent tout simplement à la ponctuation.
EC'est super mauvais le sel! = log2 ((26+26+26)27) ≈ 170 bits
Avec cette phrase de passe, malgré sa simplicité, on obtient un résultat extrêmement robuste avec une entropie de 170 bits!
Pour information, une entropie d'un bit supplémentaire signifie qu'il faut le double de tentatives pour trouver la phrase de passe!

Quel niveau est considéré comme sûr ?

Quelle valeur d'entropie faut-il atteindre pour considérer qu'une phrase de passe est suffisamment robuste? Cela peut varier selon l'usage mais, de manière générale, on peut considérer qu'il faut au moins atteindre 80 bits d'entropie et l'idéal est d'utiliser une phrase de passe de plus de 100-120 bits.

< 40 bits
Très Insuffisant
40–59 bits
Insuffisant
60–79 bits
Acceptable pour des bêtises
80–99 bits
Bon (Exemple: T77.Bof.Bof!!)
100–119 bits
Très bon (Exemple: maiscestvraimentfacile)
≥ 120 bits
Très Très Bon (Exemple: Mais c'est vraiment facile!)

Pour information, afin d'atteindre une entropie de 100 bits, avec un alphabet de 52 caractères (lettres minuscules et majuscules par exemple), il faut 18 caractères et il en faut 4 de plus pour un seul alphabet (uniquement des minuscules par exemple).

Cela dit ...

Une phrase de passe c'est bien mais...

Et pour terminer, les recommandations du NIST ...

Le NIST publie un document de référence spécifiant, entre autres, les bonnes pratiques en matière de mots de passe, phrases de passe: le SP 800-63B dont la dernière version a été publiée en août 2025.

Sans entrer dans les détails, celui-ci conseille:


Cela peut paraitre étonnant parce qu'il n'est pas courant de devoir créer un mot de passe long sans obligation de mélanger différents alphabets mais c'est pourtant les recommandations de l'entité qui fait référence.


Pour aller un peu plus loin ...

D'autres outils

Generate Readable Passphrase - Outil similaire en anglais
Password Entropy Tool (Tim Cutting) - Calculateur d'entropie
EntroCalc — Un autre calculateur d'entropie

Version originale de ce générateur de phrases

Après divers tests ridicules, je suis tombé sur le site romainvaleri.online.fr et honnêtement, j'ai beaucoup repris. J'ai un peu changé la mise en page, ajouté de la matière pour la génération (et donc de l'entropie) et deux ou trois bêtises afin de transformer un générateur de phrases en générateur de phrases de passe mais tout le moteur permettant de générer des phrases provient de ce site. Un tout grand merci à Romain Valeri donc!

L'entropie affichée avec le Calculateur d'Entropie?

Pour calculer l'entropie, j'ai considéré 26 caractères pour les minuscules et 26 caractères pour les majuscules, il s'agit du jeu de caractères ASCII de base. C'est généralement les valeurs qui sont utilisées pour calculer l'entropie de chaines de caractères. Cela dit, les accents utilisés dans la langue française ne sont pas comptabilisés.
En considérant le jeu de caractères Unicode, il aurait été possible d'ajouter les accents, c'est-à-dire 17 caractères fréquemment utilisés pour les minuscules (à â ä æ ç é è ê ë î ï ô œ ù û ü ÿ) (et pour les majuscules (À Â Ä Æ Ç É È Ê Ë Î Ï Ô Œ Ù Û Ü Ÿ)). Il aurait donc été question de deux alphabets de 43 caractères chacun (au lieu de 26).

Pour les caractères spéciaux, j'ai considéré 26 caractères fréquemment utilisés. Cela dit, il y a en réalité 33 symboles ASCII: ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ .
Et si, comme pour les minuscules et majuscules, on utilise l'Unicode (version 15.1, 2025), il existe en tout 149 813 caractères... Puisqu'il inclut tous les alphabets (latin, grec, cyrillique, arabe, chinois, etc), les pictogrammes, les émojis, etc. Mais là ça n'a plus rien à voir avec une phrase de passe...

Bref, une version tout aussi juste du calcul de l'entropie mais plus généreuse aurait pu considérer deux alphabets de 43 caractères (pour les minuscules et majuscules) et un alphabet de 33 caractères (pour les caractères spéciaux).
J'ai préféré proposer une version plus pessimiste et réaliste, sachant que cela implique que la valeur d'entropie affichée représente une valeur à la baisse.
De plus, de nombreux services ne permettent pas d'utiliser tous les caractères spéciaux disponibles en ASCII.
J'ai donc comptabilisé une dizaine de caractères accentués et une quinzaine de caractères spéciaux pour un total de 26 caractères spéciaux.

Pour information, dans le contexte de ce générateur de phrases de passe, pour afficher une entropie encore plus pessimiste (sous-évaluée), il aurait été possible d'afficher l'entropie calculée sur base des mots disponibles (selon les différentes structures de phrases) et non pas sur base des lettres comme précédemment.

Entropie basée sur les mots (selon les types de phrases) 

Exemple: voiturepoulemoto

En considérant que ce mot de passe a été généré sur base d'une liste de 5000 mots, l'entropie basée sur les mots (c'est-à-dire un mot de passe de longueur 3 avec un alphabet de 5000) est de Evoiturepoulemoto = log2 (50003) ≈ 37 bits.
Alors que l'entropie basée sur les caractères (c'est-à-dire un mot de passe de longueur 16 avec un alphabet de 26) est de Evoiturepoulemoto = log2 (2616) ≈ 75 bits.

L'entropie basée sur les mots est clairement beaucoup plus faible. Il ne me semble pas que ce soit pertinent d'afficher cette entropie pour ce générateur de phrases de passe mais ce type de calcul d'entropie a plus de sens pour des générateurs basés sur des listes de mots concaténés.

Comment passer de l'entropie au temps nécessaire pour craquer une phrase de passe?

On peut parfois trouver des tableaux avec des indications quant à la durée nécessaire pour craquer un mot de passe, comme par exemple l'article de hivesystem : "Are Your Passwords in the Green?". Mais comment passe-t-on d'une valeur d'entropie (en bits) à ces valeurs en secondes ?
Pour cela, il faut connaître trois choses: l'entropie de la phrase de passe, la fonction de hachage utilisée et le matériel disponible.

Si une phrase de passe a une entropie de 99 bits, cela veut dire qu'il faut 299 tentatives (c'est-à-dire 633 825 300 114 114 700 748 351 602 688 tentatives) pour tester toutes les combinaisons possibles. Cela correspond au pire cas mais on peut considérer que dans la pratique un attaquant va trouver la bonne valeur, en moyenne, après avoir testé la moitié des cas, c'est-à-dire ~298 tentatives.
Ensuite, il faut regarder, selon le matériel (modèles de cartes graphiques) et selon l'algorithme utilisé pour générer les hashes*, combien de hashes il est possible de générer à la seconde (taux de hachage).
Avec cette valeur, on peut connaitre le temps nécessaire pour essayer toutes les combinaisons possibles et donc trouver la phrase de passe.


*Le hash ou valeur de hachage est une empreinte numérique unique générée par une fonction de hachage (hash function) à partir d'une chaine de caractères (une phrase de passe par exemple). Le résultat (le hash) est une valeur de longueur fixe (peu importe la taille du texte de départ), qui change complètement si on modifie un caractère dans la phrase de passe et qui est non réversible (la fonction de hachage est une 'one way function', on peut générer un hash à partir d'une phrase de passe mais on ne peut pas retrouver la phrase de passe à partir du hash).

Schéma : exemples de fonctions de hachage et différences de coût (illustration de taux de hachage)

Un exemple?


Pour rappel, l'entropie permet de connaitre le nombre de valeurs à tester pour tester toutes les combinaisons possibles: une entropie de 56 bits, correspond donc au test de 256 valeurs dans le pire des cas (si l'attaquant trouve le mot de passe lors du dernier test) et au test de 255 ((256)/2) valeurs en moyenne (puisqu'on peut considérer que l'attaquant a une chance sur deux de trouver la bonne valeur lorsqu'il aura testé la moitié des valeurs).
Nous allons considérer le pire cas, c'est-à-dire 72 057 594 037 927 936 tests à réaliser (256).
La carte graphique GeForce RTX 5090 peut générer environ 305 OOO hashes bcrypt à la seconde*.

Voilà, on a toutes les informations nécessaires, il suffit maintenant de diviser le nombre de tests à réaliser par le nombre de tests que peut réaliser par seconde notre carte graphique. Ensuite, effectuer encore quelques divisions si nécessaire pour changer d'unité de temps.
(256) / 304800 ≈ 236 409 429 258 secondes, c'est-à-dire environ 7500 années ((((236409429258/60)/60)/24)/365). Ça va, c'est pas si supermauvais.

Maintenant, second exemple, même mot de passe, même carte graphique mais une fonction de hachage moins complexe, c'est-à-dire du MD5 sans sel. Ce n'est normalement plus trop utilisé mais elle sert souvent de référence.

Combien de temps faut-il pour trouver ce mot de passe, sachant qu'il est possible de générer 220 600 000 000 hashes par seconde (au lieu des 304 800 avec bcrypt) avec la carte graphique GeForce RTX 5090.
256 / 220600000000 ≈ 326 643 secondes, c'est-à-dire environ 7,5 jours (((326 643672/60)/60)/24). C'est beaucoup moins bon... Et vous n'y pouvez rien, vous utilisez simplement un service qui ne respecte pas les normes actuelles de sécurité.

Bref, vous ne pouvez pas connaitre les fonctions de hachage utilisées, les ressources des attaquants (une seule carte graphique comme dans ce test, ce n'est pas grand chose) mais vous pouvez utiliser une phrase de passe afin de rendre le crackage difficile ou impossible peu importe les ressources des attaquants et la qualité de la fonction de hachage utilisée.


*Lien vers "Hashcat v6.2.6-851 benchmark on the Nvidia GeForce RTX 5090 FE Raw"

Et avec le quantique?

La sécurité des algorithmes cryptographiques repose sur des calculs (très) compliqués à réaliser mais le fonctionnement de l'informatique quantique est tellement différent que ces calculs sont faciles pour des ordinateurs quantiques. C'est pour cela que dans le contexte de la sécurité des phrases de passe, pour se protéger du quantique, les algorithmes utilisés pour générer des hashes doivent évoluer. Selon les usages, plusieurs algorithmes post-quantiques existent (Post-Quantum Cryptography (PQC)): ML-KEM, ML-DSA, etc. (NIST IR 8545).
Mais en tant qu'utilisateur, dans tous les cas, il est important d'utiliser une phrase de passe robuste, peu importe l'algorithme utilisé.