← Retour à tous les articles

PDFUnlock Blog

Comment fonctionne le cracking de mot de passe par GPU (en langage simple)

Explication non technique du cracking de mot de passe par GPU : hashcat, attaques par dictionnaire, force brute, mutations par règles, et le système de récupération en dix phases.

· par Équipe PDFUnlock · 7 min de lecture

Quand vous uploadez un PDF verrouillé sur un service de récupération de mot de passe, que se passe-t-il réellement de l’autre côté ? Pas de machine learning, pas de magie, pas de porte dérobée secrète — juste des mathématiques, de gros dictionnaires et du matériel très rapide. Voici comment ça marche.

Étape zéro : extraction du hash

Avant tout cracking, le service extrait le hash de chiffrement de votre PDF. C’est un petit morceau de données — typiquement quelques centaines d’octets — qui a été généré à partir de votre mot de passe original quand le fichier a été chiffré.

Pensez-y comme une empreinte digitale. Le hash ne contient pas le mot de passe lui-même, mais si vous devinez un mot de passe et calculez son hash, vous pouvez comparer le résultat au hash du fichier. S’ils correspondent, vous avez trouvé le mot de passe.

Cette étape d’extraction est instantanée et ne nécessite pas de GPU. Chez PDFUnlock, nous utilisons un outil appelé pdf2john qui tourne en pur JavaScript — ça prend moins de 100 millisecondes.

Important : seul le hash est extrait. Nous ne lisons jamais le contenu de votre PDF. Même si nous le voulions, nous ne pourrions pas — le contenu est chiffré.

Pourquoi des GPU, pas des CPU ?

Un CPU moderne a 8 à 16 cœurs, chacun optimisé pour des tâches complexes et séquentielles. Un GPU moderne a des milliers de cœurs plus simples, optimisés pour effectuer la même petite opération sur de nombreux points de données simultanément.

Le cracking de mot de passe est un problème massivement parallèle. Vous devez prendre un mot de passe candidat, le hacher, et comparer le résultat à la cible — puis répéter pour le candidat suivant. Chaque test est indépendant. Les cœurs n’ont pas besoin de communiquer entre eux.

C’est exactement ce pour quoi les GPU sont conçus. Une seule NVIDIA RTX 4090 peut tester environ :

  • 25 milliards de hashs MD5 par seconde
  • 300 millions de hashs PDF RC4-128 par seconde
  • 3 millions de hashs PDF AES-256 par seconde

Un CPU faisant le même travail atteindrait peut-être 1/100e de ces chiffres. Cet avantage de vitesse de 100x est la raison pour laquelle le cracking GPU a remplacé le cracking CPU au cours de la dernière décennie.

L’outil : hashcat

Presque tous les services sérieux de récupération de mot de passe utilisent hashcat, un outil open-source en développement actif depuis 2009. Il supporte plus de 350 types de hash, y compris chaque variante de chiffrement PDF.

Hashcat n’est pas propriétaire. Ce n’est pas une arme secrète. C’est l’outil standard, librement disponible sur GitHub. La différence entre les services n’est pas le logiciel — c’est le matériel sur lequel il tourne, les dictionnaires utilisés et les ensembles de règles appliqués.

Types d’attaque

Attaque par dictionnaire

L’approche la plus simple : prendre une liste de mots de passe connus et essayer chacun. Le dictionnaire le plus célèbre est rockyou.txt — 14,3 millions de mots de passe ayant fuité de la brèche RockYou en 2009. Malgré ses 17 ans, ces mots de passe restent dévastateurs parce que les gens continuent de choisir les mêmes patterns.

Une attaque par dictionnaire sur un PDF s’exécute en secondes à minutes, selon le type de chiffrement.

Attaque par règles

Les gens tapent rarement password comme mot de passe de nos jours. Ils tapent P@ssw0rd! ou Motdepasse2026. Les attaques par règles prennent chaque mot d’un dictionnaire et appliquent des transformations courantes :

  • Mettre la première lettre en majuscule
  • Remplacer a par @, e par 3, i par 1, o par 0
  • Ajouter des chiffres : 1, 123, 2026
  • Ajouter des symboles : !, ?, #
  • Inverser le mot
  • Le dupliquer

Un seul dictionnaire de 14 millions de mots avec un grand ensemble de règles peut générer des milliards de candidats. best64.rule (64 règles) et OneRuleToRuleThemAll.rule (~50 000 règles) sont les plus couramment utilisés.

Attaque par force brute (masque)

Quand les attaques par dictionnaire et par règles échouent, le dernier recours est d’essayer toutes les combinaisons possibles. L’attaque par masque de hashcat permet de définir un pattern :

  • ?a?a?a?a?a?a = chaque caractère ASCII imprimable, 6 positions
  • ?d?d?d?d?d?d = chaque combinaison de chiffres, 6 positions
  • ?u?l?l?l?l?d?d = majuscule + 4 minuscules + 2 chiffres

Avec --increment, hashcat commence à 1 caractère et augmente. Pour l’ASCII imprimable (95 caractères), l’espace de recherche croît exponentiellement :

LongueurCombinaisonsTemps (AES-256, RTX 4090)
481 millions< 1 minute
57,7 milliards~40 minutes
6735 milliards~2,5 jours
769,8 billions~270 jours
86,6 billiards~70 ans

C’est pourquoi les mots de passe au-delà de 8 caractères aléatoires sont effectivement incassables avec le matériel actuel. Et pourquoi nous sommes honnêtes sur les taux de succès AES-256.

Le système en dix phases de PDFUnlock

Nous lançons les attaques par ordre de vitesse, en nous arrêtant dès que le mot de passe est trouvé :

  1. Phase 1 — Top 1 000 mots de passe (~1 seconde). Une liste soigneusement sélectionnée des mots de passe les plus courants au monde. Environ un tiers des cas réels se terminent ici.
  2. Phase 2 — rockyou.txt (secondes à minutes). Le dictionnaire complet de 14,3 millions de mots de passe.
  3. Phase 3 — rockyou + best64.rule (minutes à une heure). Chaque entrée de rockyou avec 64 mutations courantes.
  4. Phase 4 — Combinateur (minutes à heures). Combinaisons mot+mot comme jean+2024 ou amour+toujours.
  5. Phase 5 — Hybride dictionnaire+masque (minutes à heures). Mots du dictionnaire avec des chiffres ajoutés, ex. motdepasse1234.
  6. Phase 6 — Séquences clavier (minutes). Motifs clavier courants comme azerty, qwerty, 1qaz2wsx.
  7. Phase 7 — rockyou + OneRuleToRuleThemAll (heures). Chaque entrée avec ~52 000 mutations. C’est la phase la plus productive pour les mots de passe « astucieux ».
  8. Phase 8 — Force brute Markov (heures à jours). Force brute statistiquement optimisée sur 1 à 8 caractères par chaînes de Markov.

Vous pouvez suivre la progression en temps réel sur votre dashboard. Chaque changement de phase est signalé en direct via Firestore.

Ce que nous ne pouvons pas cracker

Soyons directs sur les limites :

  • Mots de passe véritablement aléatoires de plus de 8 caractères en AES-256 : les mathématiques sont contre nous. 9 caractères d’ASCII imprimable aléatoire en AES-256 prendraient des années sur un seul GPU.
  • Mots de passe d’un gestionnaire de mots de passe (comme t9^Jq2p@ZrW4) : ils ne sont dans aucun dictionnaire et trop longs pour la force brute.
  • Phrases de passe de 4+ mots aléatoires (comme correct horse battery staple) : l’espace de combinaisons de mots est trop grand.

Nous estimons notre taux de succès global à environ 50 % pour RC4-128/AES-128 et 20 % pour AES-256. Nous vous montrons cette estimation avant que vous ne lanciez le processus, et nous ne facturons que si nous trouvons le mot de passe.

Pas de porte dérobée, pas de magie

Il n’existe aucune porte dérobée secrète dans AES ou RC4. Il n’y a aucun moyen de contourner le chiffrement sans le mot de passe. Tout « PDF unlocker » qui prétend le contraire ment ou parle de mots de passe propriétaire (qui sont complètement différents et n’impliquent pas de chiffrement).

Ce que nous faisons est de la cryptanalyse bien comprise, vieille de plusieurs décennies. La seule variable est le temps et la puissance de calcul. Si le mot de passe est dans nos dictionnaires ou assez court pour la force brute, nous le trouverons. Sinon, personne ne le peut — et nous vous le dirons honnêtement.

Prêt à essayer ? Uploadez votre PDF et voyez le résultat du test rapide gratuit en quelques secondes.

Prêt quand vous l'êtes

Déverrouillez votre PDF dans les 60 prochaines secondes

Gratuit pour les mots de passe propriétaire. Pay-on-success pour les mots de passe d'ouverture. Sans compte. Sans carte. Juste le fichier et un résultat.