Dato un messaggio in chiaro ed una chiave nascosta K, in questa modalità
un generico
è
dato da:
con (vettore di inizializzazione a 64 bit).
Il funzionamento di questa modalità è definito dallo schema di Figura 13.
Figura 13: Schema di cifratura col Cipher Block Chaining.
Il procedimento di cifratura considera inizialmente il vettore IV, di 64 bit, quindi
effettua lo xor bit a bit tra questi ed i
primi 64 bit del messaggio in chiaro, infine applica alla stringa cosí ottenuta l'algoritmo di
cifratura DES con chiave K, ottenendo il blocco cifrato . Quest'ultimo viene poi utilizzato
per fare lo xor bit a bit col blocco successivo del messaggio in chiaro
, quindi si applica
alla stringa cosí ottenuta l'algoritmo DES sempre con la stessa chiave K, ottenendo il blocco
cifrato
e cosí via.
Con questo metodo, si definisce in qualche modo un legame tra
ed il blocco precedente
.
Per decifrare si utilizza lo schema di Figura 14.
Figura 14: Schema di decifratura col Cipher Block Chaining.
Dal momento che , come è noto, è il primo blocco in output del processo
di cifratura, ottenuto come output all'algoritmo DES (Figura 13), per ottenere
possiamo
ragionare all'inverso del caso della cifratura, cioè si applica
come input del
(algoritmo di decifratura)
con la stessa chiave K, ottenendo quindi la stringa che precedentemente
definiva lo xor bit a bit tra
ed IV, che costituiva l'input del DES. Ora poiché si vuole calcolare
si
effettua l'operazione inversa, cioè lo xor bit a bit del valore in output del
con
IV e ottenendo
. In generale, dalla (5) si ricava:
Il vantaggio di questo schema è che se si cambia un solo bit del messaggio originario cambia di conseguenza anche la parte rimanente del messaggio. Questa caratteristica elimina la possibilità di un attacco tramite sostituzione di un blocco. Infatti, in una tale evenienza il messaggio sarebbe irrimediabilmente compromesso.
Questo legame (dipendenza) esistente tra i vari blocchi del messaggio è alla base del funzionamento del Message Autentication Code (MAC) che verrà analizzato nella sezione Applicazioni del DES. Lo svantaggio di tale metodo è che in esso vengono eseguite piú operazioni rispetto all'ECC, e quindi rispetto ad esso è piú lento.