CBC : Cipher Block Chaining
C'est un des modes les plus populaires. Il est une solution au premier problème du mode ECB. Avant d'être chiffré, l'opération binaire XOR est appliquée entre le bloc actuel de texte clair et le bloc précédent de texte chiffré. Pour le tout premier bloc, un bloc ayant un contenu aléatoire est généré et utilisé pour l'application de l'opération XOR, appelé « vecteur d'initialisation » (initialization vector). Ce premier bloc est envoyé tel quel avec le message chiffré.
Représentation
T[n] = nième bloc de texte clair.
C[n] = nième bloc de texte chiffré.
E(m) = fonction de chiffrement du bloc m.
D(m) = fonction de déchiffrement du bloc m.
VI = vecteur d'initialisation
^ = OU-Exclusif
Chiffrement : C[0] = E(T[0] ^ VI)
C[n] = E(T[n] ^ C[n-1]) , si (n > 0)
Déchiffrement : T[0] = D(C[n]) ^ VI
T[n] =
D[C[n]) ^ C[n-1] , si (n > 0)
Partager