# Modes d'operació dels sistemes de xifratge per blocs

En criptografia, un algorisme d'encriptació per blocs opera en blocs de mida fixa, sovint de 64 o 128 bits. Per xifrar missatges de major mida es fan servir diferents modes d'operació. Els primers modes descrits, com ECB, CBC, ÖFB i CFB, asseguraven la confidencialitat, però no asseguraven la integritat del missatge. Altres modes han estat dissenyats per a assegurar la confidencialitat i la integritat del missatge, com mode CCM, mode EAX i mode OCB.

## Mode ECB (Electronic codebook)

El mètode més simple de manera de xifrat és l'anomenat ECB (electronic codebook), en el qual el missatge és trossejat en blocs, cadascun dels quals és xifrat de manera separada. El desavantatge d'aquest mètode és que blocs idèntics de missatge sense xifrar produiran idèntics textos xifrats. Per això, no proporciona una autèntica confidencialitat i no és recomanat per a protocols criptogràfics.
Un clar exemple de com el mètode ECB pot revelar patrons del text. Una versió de mapa de bits de la imatge de l'esquerra ha estat xifrada amb ECB per crear la imatge del centre:
| Original | Xifrat utilitzant mode ECB | Xifrat usant altres mètodes |
La imatge de la dreta és com podria aparèixer la mateixa imatge xifrada amb CBC, CTR o qualsevol dels altres mètodes segurs, és a dir, indistingible de soroll aleatori. Cal notar que l'aparença aleatòria de la imatge de la dreta diu molt poc sobre si la imatge ha estat xifrada de manera segura. Molts mètodes no segurs de xifrat produeixen, a priori, un resultat aparentment aleatori.
El mode ECB pot fer que protocols sense protecció d'integritat siguin encara més susceptibles a atacs de repetició, ja que cada bloc és desxifrat de la mateixa manera. Per exemple, el videojoc en línia Phantasy Star Online: Blue Burst utilitza Blowfish en mode ECB. Abans que el mètode d'intercanvi de claus fos craque, alguns jugadors enviaven repetidament el bloc xifrat de Monstre matat , xifrat cada un amb Blowfish, per guanyar il·legítimament punts d'experiència.

## Mode CBC (CIPHA-block chaining)

Al mode CBC (CIPHA-block chaining), abans de ser xifrat, a cada bloc de text se li aplica una operació XOR amb el previ bloc ja xifrat. D'aquesta manera, cada bloc és dependent de tots els blocs de text plans fins a aquest punt. A més, per fer cada missatge únic es pot utilitzar un vector d'inicialització.
Si el primer bloc té índex 1, la fórmula matemàtica per al xifrat CBC és:
$C_{i}=E_{K}(P_{i}\oplus C_{i-1}),C_{0}=IV$
mentre que la fórmula del desxifrat és:
$P_{i}=D_{K}(C_{i})\oplus C_{i-1},C_{0}=IV$
CBC és el mode usat més sovint. El seva principal contrapartida és que és seqüencial i no pot funcionar en paral·lel.

### Mode PCBC (Propagating CIPHA-block chaining)

El mode propagating CIPHA-block chaining va ser dissenyat perquè petits canvis en el text xifrat es propaguen més que en el mode CBC. Les rutines de xifrat i desxifrat es defineixen de la manera següent:
$C_{i}=E_{K}(P_{i}\oplus p_{i-1}\oplus C_{i-1}),P_{0}=IV,C_{0}=0$
$P_{i}=D_{K}(C_{i})\oplus p_{i-1}\oplus C_{i-1},P_{0}=IV,C_{0}=0$
PCBC és usat per Kerberos i Waste, tot i que a més d'aquests, el seu ús és bastant infreqüent.

## Vegeu també

* Criptografia
* Xifratge per blocs
* Permutació Pseudoaleatòria
* Advanced Encryption Standard
* DES

## Referències

* M. Liskov, R. Rivest, and D. Wagner, "Tweakable Block Ciphers", Crypto 2002 PDF.

## Enllaços externs

* A list of many symmetric algorithms, the majority of which are block ciphers.
* The block cipher lounge
* What is a block cipher? Arxivat 2007-03-06 a Wayback Machine. from RSA FAQ
* Block Ciphers and Cryptanalysis (PDF). Technical Report: an introduction to mathematics of block ciphers and methods for cryptanalysis.