← Back to Blog

L'entropie des mots de passe expliquée : comment calculer réellement leur robustesse

2025-12-26

« Utilisez un mot de passe fort » est un conseil courant, mais « fort » reste vague. L'entropie est la mesure concrète derrière ce conseil — un nombre, en bits, qui indique combien de tentatives un attaquant doit faire dans le pire des cas. Cet article explique ce que signifie ce nombre et comment le calculer pour un mot de passe que vous choisissez réellement.

En bref

  • L'entropie (en bits) mesure la taille de l'espace de recherche qu'un attaquant doit parcourir par force brute : entropie = log2(taille_du_jeu_de_caractères ^ longueur).
  • Chaque caractère supplémentaire multiplie l'espace de recherche ; chaque type de caractère supplémentaire ne le multiplie que par un facteur fixe et relativement faible.
  • Un mot de passe de 12 caractères n'utilisant que des minuscules a moins d'entropie qu'un mot de passe de 8 caractères mélangeant les quatre types de caractères — mais une phrase de passe de 20 caractères en minuscules dépasse les deux.
  • Les mots de passe générés par CSPRNG atteignent exactement leur entropie théorique ; les mots de passe choisis par des humains y parviennent rarement, car les humains ne sont pas aléatoires.

Réponse courte

L'entropie en bits est log2(N), où N est le nombre total de mots de passe également probables pour cette longueur et ce jeu de caractères. En pratique : entropie = longueur × log2(taille_du_jeu_de_caractères). Un mot de passe de 16 caractères tiré uniformément des 95 caractères ASCII imprimables a environ 16 × log2(95) ≈ 105 bits d'entropie — comparable à une clé AES 256 bits en termes de résistance pratique à la force brute, ce qui est excessif en comparaison, mais 105 bits dépasse déjà largement ce qu'un matériel actuel ou prévisible peut épuiser. PassGenerate génère les mots de passe de cette façon, en utilisant le CSPRNG de la Web Crypto API, donc ce chiffre d'entropie est réel, pas seulement théorique.

La formule de l'entropie, étape par étape

L'entropie suppose que chaque caractère est choisi indépendamment et uniformément au hasard dans un ensemble fixe. Pour un jeu de caractères de taille C et un mot de passe de longueur L, le nombre de mots de passe possibles est C^L, et l'entropie en bits est :

entropie = L × log2(C)
Jeu de caractèresTaille (C)Bits par caractère (log2 C)
Chiffres uniquement (0-9)103.32
Minuscules (a-z)264.70
Minuscules + chiffres365.17
Majuscules/minuscules + chiffres625.95
Majuscules/minuscules + chiffres + symboles (~33 courants)956.57

Longueur vs taille du jeu de caractères : pourquoi la longueur l'emporte

Ce tableau montre pourquoi NIST SP 800-63B minimise l'importance des règles de complexité forcée au profit de la longueur :

LongueurChiffres uniquementMinusculesMajuscules+minuscules+chiffres+symboles
827 bits38 bits52 bits
1240 bits56 bits79 bits
1653 bits75 bits105 bits
2066 bits94 bits131 bits
2480 bits113 bits157 bits
32106 bits150 bits210 bits

Remarquez qu'un mot de passe de 8 caractères utilisant les quatre types de caractères (52 bits) a moins d'entropie qu'un mot de passe de 12 caractères entièrement en minuscules (56 bits). C'est la base mathématique d'un constat bien connu : ajouter quatre caractères aléatoires supplémentaires fait plus pour votre sécurité que de forcer des symboles et des chiffres dans un mot de passe court. C'est aussi pourquoi de longues phrases de passe générées aléatoirement (plusieurs mots aléatoires du dictionnaire) peuvent être à la fois plus robustes et plus faciles à taper qu'un court fouillis de symboles — chaque mot supplémentaire ajoute généralement 11 à 13 bits s'il est tiré d'une liste de quelques milliers de mots, ce qui s'accumule rapidement sur 4 à 6 mots.

Pourquoi « avoir l'air aléatoire » n'est pas la même chose qu'être aléatoire

Les calculs d'entropie supposent une véritable aléatoire uniforme. Les mots de passe créés par des humains ne respectent systématiquement pas cette hypothèse, même lorsqu'ils semblent complexes : les suites de touches (Azerty123!), les substitutions type leetspeak (M0tDeP@sse), et les dates ou noms suivis d'un symbole réduisent tous l'entropie effective bien en dessous de ce que suggère le nombre de caractères, car les outils de piratage des attaquants sont construits précisément autour de ces schémas. Un mot de passe peut sembler aléatoire à l'œil humain et pourtant figurer parmi les premiers millions de tentatives d'une attaque par dictionnaire ciblée.

C'est la raison pratique de préférer un générateur utilisant un générateur de nombres pseudo-aléatoires cryptographiquement sûr (CSPRNG) plutôt que d'inventer soi-même un mot de passe. Math.random() en JavaScript n'est pas cryptographiquement sûr et ne convient pas à la génération de mots de passe — il est initialisé et généré par un algorithme suffisamment prévisible pour être reconstruit à partir de quelques sorties dans certains moteurs. Le crypto.getRandomValues() de la Web Crypto API puise dans la source d'aléa cryptographique du système d'exploitation, donc chaque caractère est véritablement et indépendamment aléatoire, et les calculs d'entropie ci-dessus s'appliquent réellement.

Ce que cela donne avec du matériel réel

Les chiffres en bits ci-dessus sont utiles pour comparer, mais ils ne disent pas combien de temps prend réellement une attaque — cela dépend du matériel qui fait les tentatives, et ce matériel devient plus rapide chaque année. Hive Systems publie un benchmark annuel exactement sur ce sujet, testant la vitesse de force brute sur une flotte louée de GPU grand public. Leur tableau 2026 situe un mot de passe de 8 caractères généré aléatoirement avec le jeu de caractères mixte complet (majuscules, minuscules, chiffres, symboles) à environ 132 ans à craquer — contre 164 ans en 2025 et 225 ans en 2024, une baisse d'environ 20 à 25 % par an à mesure que le matériel GPU s'améliore. Un mot de passe de 8 caractères en minuscules uniquement a chuté encore plus vite : de trois semaines à craquer en 2025 à environ deux semaines en 2026.

Deux éléments de ce benchmark méritent d'être connus. D'abord, la tendance est à sens unique — ce qui semble « sûr » aujourd'hui s'affaiblit chaque année simplement à cause des progrès matériels, ce qui est un argument concret pour privilégier des mots de passe plus longs plutôt que le minimum actuel. Ensuite, et c'est quelque peu contre-intuitif, les puces accélératrices d'IA spécialisées construites pour entraîner les modèles de langage se sont révélées ne pas être plus rapides pour craquer des mots de passe par force brute que des GPU de jeu équivalents, et même plus lentes dans certains tests — le craquage de mots de passe est un problème numérique brut qui ne bénéficie pas des optimisations de multiplication matricielle sur lesquelles repose le matériel d'IA.

Combien de bits vous faut-il réellement ?

Il n'existe pas de nombre universel unique, car cela dépend de ce contre quoi vous vous défendez :

  • ~40-60 bits : Résistant aux tentatives de devinette occasionnelles et aux attaques automatisées à petite échelle, mais à la portée d'une attaque hors ligne bien dotée en ressources contre une base de données faiblement hachée. Adéquat uniquement pour des comptes réellement à faible valeur et faible conséquence.
  • ~70-90 bits : Confortablement hors de portée de la force brute même avec du matériel de craquage optimisé, pour tout délai d'attaque réaliste. Un objectif raisonnable pour la plupart des comptes personnels.
  • 100+ bits : Effectivement inatteignable par force brute avec la puissance de calcul actuelle ou prévisible, cryptographique au même sens qu'une clé de chiffrement forte. Approprié pour le mot de passe maître de votre gestionnaire de mots de passe ou tout autre point unique de défaillance.

Points clés à retenir

  • L'entropie est longueur × log2(taille_du_jeu_de_caractères) — la longueur a un effet linéaire, la taille du jeu de caractères a un effet logarithmique, c'est pourquoi la longueur domine.
  • Un mot de passe court avec tous les types de caractères peut avoir moins d'entropie qu'un mot de passe plus long avec un seul type.
  • L'entropie effective n'égale l'entropie théorique que lorsque les caractères sont véritablement et uniformément aléatoires — ce que garantit un CSPRNG et que le choix humain n'atteint généralement pas.
  • Visez 70+ bits pour les comptes du quotidien et 100+ bits pour les mots de passe maîtres ou autres points uniques de défaillance.

Pourquoi vous pouvez faire confiance à PassGenerate

  • Les mots de passe sont générés localement dans votre navigateur grâce à la Web Crypto API.
  • Aucun mot de passe n'est transmis à des serveurs.
  • Utilise un générateur de nombres pseudo-aléatoires cryptographiquement sûr (CSPRNG).
  • Suit les meilleures pratiques de sécurité modernes recommandées par le NIST et l'OWASP.

Références

  • Tableau des mots de passe 2026 de Hive Systems (données de benchmark de force brute)
  • NIST SP 800-63B – Directives d'identité numérique
  • Fiche de référence sur l'authentification de l'OWASP

En résumé

L'entropie est une mesure précise et calculable de la robustesse d'un mot de passe, pas une notion vague de « complexité ». La longueur compte plus que le mélange forcé de types de caractères, car elle augmente linéairement l'espace de recherche, tandis que la taille du jeu de caractères ne l'augmente que de façon logarithmique — et rien de tout cela ne tient à moins que les caractères ne soient réellement aléatoires, ce qui explique pourquoi un générateur reposant sur un CSPRNG comme PassGenerate produit des mots de passe atteignant exactement leur entropie théorique, ce qu'un mot de passe choisi par un humain n'atteint pratiquement jamais.