Pourquoi un site ne garde pas ton mot de passe, et pourquoi la longueur compte
Pour se connecter, il faut un mot de passe. Un site sérieux ne le garde pas en clair : il en garde une empreinte. Cette partie, facultative, te montre pourquoi, et pourquoi la longueur d'un mot de passe compte plus que sa « difficulté ».
CoursL'empreinte d'un mot de passe
Une fonction de hachage transforme n'importe quel texte en une suite de caractères de longueur fixe, appelée empreinte (ou hash). Elle a deux propriétés :
elle est à sens unique : connaître l'empreinte ne permet pas de retrouver le mot de passe ;
un changement minuscule du texte change complètement l'empreinte.
À la connexion, le site calcule l'empreinte de ce que tu tapes et la compare à celle qu'il a gardée : il n'a pas besoin de connaître ton mot de passe.
Un mot de passe de \(n\) caractères choisis parmi \(a\) symboles possibles donne \(a^n\) mots de passe différents. Pour 8 lettres minuscules : \(26^8 = 208\,827\,064\,576\) possibilités.
Hypothèse de travail
On suppose qu'un attaquant teste un milliard (\(10^9\)) de mots de passe par seconde. C'est une hypothèse de travail pour calculer des ordres de grandeur, pas une mesure.
ExercicesExercices
EX 30Je découvre🌶️prise en main
Exercice 30 — Deux empreintes
Exécute le programme hash.py. Les deux empreintes se ressemblent-elles, alors que les textes ne diffèrent que d'une lettre ?
Quelle est la longueur de chaque empreinte (en caractères) ? Serait-elle différente pour un texte de 100 pages ?
Un site stocke l'empreinte de ton mot de passe. Quelle information reste protégée si ses serveurs sont piratés ?
Indice
Compte les caractères avec len(empreinte("snt2nde")).
💾 NOM_Prenom_ex30.py
EX 31Je calcule🌶️🌶️application
Exercice 31 — Le temps de casser
On suppose un milliard d'essais par seconde.
Calcule le nombre de mots de passe possibles pour 6, 8, 10 puis 12 lettres minuscules (tu peux utiliser Python : 26 ** 8).
Pour chacun, calcule la durée maximale pour tous les tester, en secondes, puis dans une unité adaptée (minutes, jours, années).
Un mot de passe de 8 caractères peut utiliser des minuscules, des majuscules et des chiffres, soit 62 symboles : calcule \(62^8\) et la durée correspondante.
Que préfères-tu, pour la sécurité : ajouter des types de caractères ou ajouter des caractères ? Justifie avec les résultats.
Indice
Nombre d'essais ÷ \(10^9\) donne le temps en secondes ; 1 jour = 86 400 secondes ; 1 an ≈ 31 536 000 secondes.
📝 réponses dans ton compte rendu, exercice 31
EX 32Je synthétise🌶️🌶️🌶️plusieurs étapes
Exercice 32 — Des mots plutôt qu'un code
Un mot de passe peut être une phrase de passe : 4 mots tirés au hasard dans une liste de 2 000 mots.
Combien de phrases de passe différentes sont possibles ? Compare avec \(26^8\).
Pourquoi cette phrase est-elle plus facile à retenir qu'un mot de passe de 8 caractères aléatoires ?
Pourquoi les mots doivent-ils être tirés au hasard et non choisis par toi ?
Indice
Chaque mot a 2 000 possibilités, il y a 4 mots : \(2\,000^4\).