0Pricing
Cryptology Academy · Leçon

bcrypt : algorithme et facteur de coût

Découvrez le fonctionnement interne de bcrypt, le facteur de travail et le réglage approprié du coût.

bcrypt : algorithme et facteur de coût est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 2 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

bcrypt est un algorithme de hachage de mots de passe conçu en 1999 spécifiquement pour être lent et résistant aux attaques matérielles. Il reste l’algorithme de hachage de mots de passe le plus largement déployé.

Origines de bcrypt

Conçu par Niels Provos et David Mazières à partir du chiffrement Blowfish. Le « b » signifie Blowfish. Son idée essentielle consiste à utiliser la coûteuse configuration de clé de Blowfish pour ralentir volontairement le calcul.

Format du hachage bcrypt

$2b$12$saltsaltsaltsaltsaltsalthashhashhashhashhashhash $2b$ : version de l’algorithme 12 : facteur de coût (log2 du nombre d’itérations) salt : 22 caractères en base64 (16 octets) hash : 31 caractères en base64 (24 octets)

Facteur de coût

Coût 12 = 2^12 = 4096 itérations. Coût 13 = 8192 itérations. Chaque augmentation double le temps de calcul. Ajustez-le pour que le hachage prenne environ 100 à 300 ms sur votre matériel. La vitesse de l’attaquant évolue de manière identique.

bcrypt en Python

import bcrypt password = b'my_password' salt = bcrypt.gensalt(rounds=12) # generates random salt hashed = bcrypt.hashpw(password, salt) # Verify: bcrypt.checkpw(password, hashed) # True

Sel intégré

bcrypt génère et stocke toujours automatiquement le sel. gensalt() produit un sel cryptographiquement aléatoire de 16 octets. Vous n’avez jamais besoin de gérer le sel séparément : il est intégré à la chaîne de hachage.

Limite de 72 caractères de bcrypt

bcrypt tronque l'entrée à 72 octets. Les mots de passe de plus de 72 caractères sont considérés comme identiques après les 72 premiers octets. Solution de contournement : appliquer SHA-512 avant bcrypt (mais validez cette approche).

Flux de vérification du mot de passe

Connexion : 1. L'utilisateur soumet son mot de passe 2. Récupérer le hachage stocké dans la base de données 3. bcrypt.checkpw(submitted, stored_hash) 4. checkpw extrait le sel du hachage stocké et recalcule le résultat 5. Renvoie True/False Ne stockez jamais le mot de passe brut.

Tests de performance

Coût 12 de bcrypt : - Processeur grand public : ~150 ms par hachage - GPU (RTX 4090) : ~50 000 hachages/s (contre 10 milliards pour SHA-256) L'avantage de l'attaquant est réduit de 1 milliard à environ 300 avec un coût bcrypt de 12.

Recommandations concernant le facteur de coût

OWASP 2024 : facteur de coût bcrypt ≥ 10. Recommandation : 12. Vérifiez chaque année — à mesure que le matériel s'améliore, augmentez le facteur. Mettez en œuvre un nouveau hachage en ligne : lors de la connexion, vérifiez le hachage et mettez-le à niveau si nécessaire.

Limites de bcrypt

Faiblesse de bcrypt : il n'impose pas une forte consommation mémoire. Les attaquants peuvent utiliser des ASIC personnalisés optimisés pour bcrypt. Pour les nouvelles applications, préférez Argon2id, qui impose une forte consommation mémoire et résiste aux ASIC.

Vérification rapide

Que signifie le facteur de coût 12 dans un hachage bcrypt ?

Récapitulatif

bcrypt est robuste, mais n'impose pas une forte consommation mémoire. Nous étudions ensuite Argon2 — le champion moderne du hachage des mots de passe, avec des exigences mémoire configurables.

Questions Fréquemment Posées

La leçon « bcrypt : algorithme et facteur de coût » est-elle gratuite ?

Oui — le texte complet de « bcrypt : algorithme et facteur de coût » 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 « bcrypt : algorithme et facteur de coût » ?

Découvrez le fonctionnement interne de bcrypt, le facteur de travail et le réglage approprié du coût. 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 2 sur 4.

Combien de temps prend la leçon « bcrypt : algorithme et facteur de coût » ?

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