0Pricing
Cryptology Academy · Leçon

Argon2 : hachage de mots de passe exigeant en mémoire

Explorez Argon2i, Argon2d et Argon2id, et découvrez pourquoi l’utilisation intensive de la mémoire est importante.

Argon2 : hachage de mots de passe exigeant en mémoire est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.

Bienvenue

Argon2 a remporté la Password Hashing Competition (PHC) en 2015 et constitue la principale recommandation d'OWASP. Sa conception à forte exigence mémoire neutralise les attaques par GPU et par ASIC auxquelles bcrypt ne peut pas résister.

Pourquoi la forte exigence mémoire est importante

Les GPU disposent de milliers de cœurs, mais de peu de RAM par cœur (~1 KB). Argon2 exige au moins 64 MB de RAM par hachage. Les attaquants qui tentent 1000 hachages en parallèle ont besoin de 64 GB de RAM — une ressource coûteuse et limitée.

Variantes d'Argon2

Argon2d : accès dépendant des données — le plus rapide, mais vulnérable aux attaques par canal auxiliaire fondées sur le temps d'exécution. Argon2i : accès indépendant des données — protège contre les attaques temporelles. Argon2id : hybride — recommandé pour la plupart des applications.

Paramètres d'Argon2

m : mémoire en kilooctets (OWASP : 19456 KB = 19 MB au minimum, 64 MB recommandé) t : coût temporel / itérations (3 recommandé) p : parallélisme / fils d'exécution (4 recommandé) sel : 16 octets aléatoires sortie : 32 octets

Argon2id en Python

from argon2 import PasswordHasher ph = PasswordHasher( memory_cost=65536, # 64 MB time_cost=3, parallelism=4 ) hash = ph.hash('my_password') # Verify: ph.verify(hash, 'my_password') # True

Format du hachage Argon2

$argon2id$v=19$m=65536,t=3,p=4$ bmFuZG9tc2FsdHJhbmRvbQ$ KaE5Jjy7E8...hashed... Tous les paramètres sont stockés dans la chaîne de hachage. La vérification est autonome : aucun stockage séparé des paramètres n'est nécessaire.

Recommandations OWASP 2024 pour Argon2id

Minimum : m=19456 KB (19 MB), t=2, p=1 Recommandation : m=65536 KB (64 MB), t=3, p=4 Sécurité élevée : m=262144 KB (256 MB), t=4, p=8 Adaptez ces valeurs selon la mémoire disponible sur votre serveur.

Argon2 contre bcrypt et PBKDF2

Argon2id : forte exigence mémoire, résistance aux ASIC, recommandé pour les nouveaux systèmes. bcrypt : largement pris en charge, sans forte exigence mémoire, bonne compatibilité avec les systèmes existants. PBKDF2 : conforme à FIPS, sans forte exigence mémoire, à utiliser dans les environnements réglementés.

Stratégie de mise à niveau des hachages

Lors du passage de bcrypt à Argon2 : 1. Ajoutez une nouvelle colonne pour le nouveau hachage 2. Lors de la prochaine connexion : vérifiez avec l'ancien hachage bcrypt, recalculez avec Argon2 et stockez le nouveau hachage 3. Après X mois, imposez une réinitialisation du mot de passe aux utilisateurs qui n'ont pas encore été mis à niveau

Argon2 dans les environnements de développement réels

Django: set PASSWORD_HASHERS=['django.contrib.auth.hashers.Argon2PasswordHasher'] Node.js: use argon2 package (not argon2-ffi) PHP 7.2+: built-in PASSWORD_ARGON2ID constant in password_hash()

Poivre : secret côté serveur

Un poivre est un secret côté serveur mélangé au mot de passe avant le hachage : hash(password + pepper). Même si la base de données est divulguée, l'attaquant a également besoin du poivre. Faire tourner le poivre = invalider tous les hachages.

Vérification rapide

Pourquoi Argon2 résiste-t-il mieux aux attaques par GPU que bcrypt ?

Récapitulatif

Argon2id est aujourd'hui le meilleur outil pour hacher les mots de passe. Nous comparons ensuite les trois algorithmes et apprenons à choisir celui qui convient à votre contexte.

Questions Fréquemment Posées

La leçon « Argon2 : hachage de mots de passe exigeant en mémoire » est-elle gratuite ?

Oui — le texte complet de « Argon2 : hachage de mots de passe exigeant en mémoire » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Argon2 : hachage de mots de passe exigeant en mémoire » ?

Explorez Argon2i, Argon2d et Argon2id, et découvrez pourquoi l’utilisation intensive de la mémoire est importante. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cryptology Academy ?

Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Argon2 : hachage de mots de passe exigeant en mémoire » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?

Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Pourquoi SHA-256 seul échoue pour les mots de passe
  2. bcrypt : algorithme et facteur de coût
  3. Argon2 : hachage de mots de passe exigeant en mémoire
  4. PBKDF2 et choix du bon algorithme
← Retour à Cryptology Academy