Chiffrement par bloc - CBC

Pour remédier aux risques de sécurité constatés dans le mode ECB, le chiffrement dans le mode CBC dépend du contexte : Le message du bloc chiffré dépend non seulement du bloc en clair courant, mais aussi du message chiffré précédent.
ci=CK(ci−1⊕mi)
Avec :
Ci= Bloc chiffré
Ci-1= Bloc chiffré précédent
C = Algorithme de chiffrement
K = La clé de chiffrement
Mi = bloc en clair courant

On commence par fixer un mot initial (C0) de même longueur que les blocs. Ceci permettra de déterminer la valeur du premier bloc chiffré (C1=CK(c0⊕m1))

Avantages

Un  même message en clair peut être  chiffré différemment car le chiffrement dépend du message initial défini (Valeur d’initialisation).
Déchiffrement impossible si l’ordre des blocs est modifié car le chiffrement est aussi fonction des blocs précédents.

Inconvénients

Ce mode de chiffrement est lent : pour déchiffrer un message, il faut attendre le déchiffrement du message précédent.