Resumen

Un cifrador de flujo es un tipo de cifrado simétrico que cifra datos combinando cada unidad del texto plano con un flujo de bits pseudoaleatorio llamado flujo de claves. Esta combinación suele realizarse mediante la operación XOR, lo que convierte cada bit o byte del mensaje en su correspondiente cifra de manera independiente y secuencial. Los cifradores de flujo se usan cuando se precisa bajo retardo y consumo reducido de recursos, por ejemplo en comunicaciones en tiempo real o en hardware con limitaciones.

Características y componentes

Los elementos básicos de un cifrador de flujo son: una clave secreta y, con frecuencia, un vector de inicialización (IV) o estado inicial; un generador de flujo de claves pseudoaleatorio (que puede apoyarse en registros de desplazamiento lineales, funciones de salto no lineales o cifradores de bloque en modo contador); y la operación de combinación con el texto plano. Existen dos categorías principales: los cifradores síncronos, cuyo flujo de claves no depende del texto cifrado, y los autofragmentantes o autosincronizables, en los que el propio texto cifrado influye en el cálculo del flujo.

Historia y ejemplos relevantes

El concepto está emparentado con la almohadilla de un solo uso (one-time pad), donde la seguridad es teórica si el flujo es verdaderamente aleatorio y usado una sola vez. En la práctica se usan generadores deterministas que crean un flujo pseudoaleatorio a partir de una clave corta. Ejemplos históricos y modernos incluyen algoritmos conocidos que ilustran la evolución del campo: RC4 (ahora obsoleto por vulnerabilidades), A5/1 (utilizado en GSM y también atacado), y diseños contemporáneos como Salsa20 o ChaCha20 que ofrecen un buen balance de seguridad y rendimiento.

Ventajas, limitaciones y riesgos

Entre las ventajas destacan la velocidad y la simplicidad, además de un bajo consumo de hardware. No obstante, los cifradores de flujo son especialmente sensibles a errores de gestión: reutilizar la misma clave o IV para dos flujos distintos puede facilitar ataques que recuperen información del texto plano; fallos en el generador de flujo pueden exponer la clave; y la ausencia de autenticación deja la puerta abierta a modificaciones no detectadas. Por estas razones se recomienda usar cifrados autenticados y esquemas que garanticen unicidad del IV.

Usos y buenas prácticas

  • Usarlos cuando se requiere cifrado en tiempo real o bloques de longitud variable.
  • Asegurar que cada sesión use un IV o contador único y no reutilizar combinaciones clave+IV.
  • Preferir algoritmos modernos revisados por la comunidad y añadir autenticación (AEAD) para prevenir manipulación.
  • Evitar algoritmos con historial de vulnerabilidades conocidas; reemplazarlos por alternativas actuales y auditadas.

Distinciones y datos relevantes

La diferencia esencial con un cifrador de bloque es el modo de operación: los bloques procesan fragmentos de longitud fija y suelen requerir modos de operación para proteger integridad y estructura, mientras que los cifradores de flujo actúan unidad por unidad y tienden a propagar menos errores. Sin embargo, su correcta seguridad depende críticamente del generador de flujo y de la gestión de claves y IV. Para profundizar en técnicas, estándares y análisis criptográfico puede consultarse material técnico y normativo.

Referencias en línea