U6.3 Esquema general de un sistema de cifrado simétrico

En las siguientes imágenes se puede observar el funcionamiento del intercambio de claves y de cifrado simétrico:

  • El emisor envía al receptor la clave con la que cifrar y descifrar los mensajes a través de un canal seguro.
  • El emisor envía el mensaje cifrado al receptor. Éste último descifra el mensaje para ver su contenido.

llave_compartida

Modos de operación básica

  • Cifrado en bloques: La información a cifrar se divide en bloques de longitud fija, por ejemplo 64 o 128 bits, y luego se aplica el algoritmo de cifrado a cada bloque utilizando una clave secreta. Utiliza combinaciones complejas basadas en sustituciones y cambios de posición que se regirán por la clave de cifrado. Ejemplos: DES, 3DES, AES.
  • Cifrado de flujo: Son algoritmos que pueden realizar el cifrado incrementalmente, convirtiendo el texto en claro en texto cifrado bit a bit. El cifrado de flujo se utiliza mucho en las telecomunicaciones. Por ejemplo, en una conversación de telefonía móvil la voz se digitaliza (es decir, se convierte a un flujo de bits) y se envía cifrada por la red de comunicaciones. Con el fin de no entorpecer la conversación, el proceso de cifrado debería ser lo bastante rápido como para no añadir retraso a la comunicación. Por ello, conviene que la operación de cifrado sea rápida. Ejemplo: RC4.

Los algoritmos de cifrado de flujo difieren de los de bloque en el método: mientras que los cifrados de bloque cifran bloques de varios bytes a la vez, los cifrados de flujo lo hacen byte a byte.
Los algoritmos de flujo son por su modo de funcionamiento más rápidos que los de bloque, además de tener una menor complejidad a nivel de hardware.

Los algoritmos de cifrado de bloque suelen requerir de más memoria para funcionar, puesto que trabajan con bloques de datos mayores que los de flujo, y son más susceptibles a la existencia de ruidos en la transmisión, lo que implica que si se interrumpe la transmisión de datos es imposible recuperarlos, mientras que los de flujo sí se pueden hacerlo ya que los datos son encriptados individualmente byte a byte.