Existen diferentes modos de operación que garantizan
diversos grados de confidencialidad e integridad en los datos manejados.
- Electronic
Code-Block (ECB): el más sencillo es el modo electronic codebook (ECB), en el
cual los mensajes se dividen en bloques y cada uno de ellos es cifrado por
separado utilizando la misma clave K. La desventaja de este método es que a
bloques de texto plano o claro idénticos les corresponden bloques idénticos de
texto cifrado, de manera que se pueden reconocer estos patrones como guía para
descubrir el texto en claro a partir del texto cifrado. De ahí que no sea
recomendable para protocolos cifrados. Es útil pues, para cifrado de información muy reducida, sin regularidades estructurales (ej. claves)
- Cipher-block
chaining (CBC): en este modo, a cada bloque de texto
plano se le aplica la operación XOR con el bloque cifrado anterior antes de ser
cifrado. De esta forma, cada bloque de texto cifrado depende de todo el texto
en claro procesado hasta este
punto. Para hacer cada mensaje único se utiliza asimismo un vector de
inicialización. Es útil para
transmisiones orientadas a bloques. Por tanto, no
es posible realizar operaciones de
cifrado en paralelo sobre varios bloques de plaintext simultáneamente
cuando se trabaja en modo CBC ya que en este modo de operación, como hemos visto, cada bloque
depende de una operación con el bloque anterior. Por lo que un bloque será dependiente de todos los bloques
que le preceden.
- Cipher feedback (CFB) y output feedback (OFB): los modos cipher feedback (CFB) y output feedback (OFB) hacen que el cifrado en bloque opere como una unidad de flujo de cifrado: se generan bloques de flujo de claves, que son operados con XOR y el texto en claro para obtener el texto cifrado. CFB es útil para transmisiones de flujos continuos mientras que OFB es útil para las transmisiones de flujos continuos en medios ruidosos.
- Counter (CTR): al igual que OFB, el modo contador convierte una unidad de cifrado por bloques en una unidad de flujo de cifrado. Genera el siguiente bloque en el flujo de claves cifrando valores sucesivos de un contador. El contador puede ser cualquier función sencilla que produzca una secuencia de números donde los resultados se repiten con muy baja frecuencia. Si bien la operación más usada es un contador, el modo CTR tiene características similares al OFB, pero permite también usar una propiedad de acceso aleatorio para el descifrado.
A continuación se muestra una tabla resumen de los modos de operación anteriormente expuestos