0Pricing
Cryptology Academy · Leçon

ECB ou CBC : motifs et IV

Démontrez l’attaque du pingouin ECB et expliquez pourquoi CBC exige un IV aléatoire.

ECB ou CBC : motifs et IV 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

ECB et CBC sont deux modes de chiffrement par blocs. ECB est réputé peu sûr en raison des fuites de motifs. CBC avec un IV aléatoire est beaucoup plus robuste. Comprenons ces deux modes en profondeur.

Mode ECB : livre de codes électronique

ECB chiffre chaque bloc indépendamment : Ci = AES(K, Pi). Un même bloc de texte en clair produit toujours le même bloc de texte chiffré. Les blocs d'un même message ou de messages différents sont identiques lorsque leur contenu correspond.

Le pingouin d'ECB

Le « pingouin d'ECB » est une démonstration classique : chiffrer avec AES-ECB une image PNG de Tux, le pingouin de Linux. Le résultat ressemble toujours au pingouin : les zones de même couleur sont chiffrées selon les mêmes motifs.

Vulnérabilité d'ECB : rejeu de blocs

En mode ECB, un attaquant peut réorganiser les blocs de texte chiffré sans connaître la clé : - Les blocs sont indépendants - Réordonner les blocs → réordonner le texte en clair déchiffré - Dupliquer les blocs → dupliquer le contenu - Supprimer les blocs → supprimer du contenu

Mode CBC : chaînage de blocs chiffrés

CBC applique XOR à chaque bloc de texte en clair avec le bloc de texte chiffré précédent avant de le chiffrer : C0 = AES(K, P0 XOR IV) Ci = AES(K, Pi XOR C(i-1)) Un même texte en clair placé à des positions différentes produit un texte chiffré différent.

Vecteur d'initialisation (IV)

L'IV est le « C(-1) » du premier bloc. Il doit être : - Aléatoire et unique pour chaque message - Non secret (transmis avec le texte chiffré) - Jamais réutilisé avec la même clé Un IV prévisible compromet la sécurité de CBC.

Déchiffrement CBC

Pi = AES_Dec(K, Ci) XOR C(i-1) P0 = AES_Dec(K, C0) XOR IV Remarque : le déchiffrement du bloc i ne nécessite que Ci et C(i-1). Les blocs peuvent être déchiffrés en parallèle, contrairement au chiffrement.

Attaque par inversion de bits contre CBC

Inverser le bit i du bloc Ci entraîne : (1) un Pi corrompu, (2) une inversion prévisible du bit i de P(i+1). Sans authentification, un attaquant peut modifier des bits précis du texte en clair tout en sachant où ils se trouvent.

Attaque BEAST contre TLS 1.0 (2011)

BEAST a exploité l'utilisation d'IV prévisibles par TLS 1.0 avec CBC. Le dernier bloc d'un enregistrement servait d'IV pour le suivant. Démontrée par Rizzo et Duong, cette attaque a forcé la mise à niveau des navigateurs vers TLS 1.1 ou une version ultérieure.

Pourquoi CBC nécessite une authentification

Le chiffrement CBC sans MAC permet les attaques par inversion de bits et les attaques par oracle de bourrage. Combinez toujours CBC avec HMAC (chiffrer puis authentifier avec un MAC) ou passez à AES-GCM (AEAD intégré).

CBC pratique en Python

from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes import os iv = os.urandom(16) key = os.urandom(32) cipher = Cipher(algorithms.AES(key), modes.CBC(iv)) enc = cipher.encryptor() ciphertext = enc.update(padded_plaintext) + enc.finalize()

Vérification rapide

Pourquoi le mode ECB révèle-t-il des informations sur la structure du texte en clair ?

Récapitulatif

ECB est dangereux, tandis que CBC est préférable mais nécessite une authentification. Nous étudions ensuite le mode CTR — qui transforme AES en chiffrement par flot.

Questions Fréquemment Posées

La leçon « ECB ou CBC : motifs et IV » est-elle gratuite ?

Oui — le texte complet de « ECB ou CBC : motifs et IV » 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 « ECB ou CBC : motifs et IV » ?

Démontrez l’attaque du pingouin ECB et expliquez pourquoi CBC exige un IV aléatoire. 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 « ECB ou CBC : motifs et IV » ?

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. Fondamentaux des chiffrements par blocs et bourrage
  2. ECB ou CBC : motifs et IV
  3. Mode CTR et fonctionnement des chiffrements par flot
  4. GCM et chiffrement authentifié
← Retour à Cryptology Academy