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
- Recursos generales sobre criptografía
- Conceptos de cifrado simétrico
- Comparación con cifradores de bloque
- Texto plano y su definición
- Flujo de claves: definiciones y ejemplos
- Unidad mínima de cifrado (bit, byte)
- Operaciones a nivel de bits
- Procesamiento por bytes
- Cifradores de bloque y sus modos
- Gestión de claves criptográficas
- Tamaños de clave comunes
- Alcance histórico: almohadilla de un solo uso
- Características de la OTP
- Limitaciones prácticas de la OTP
- Aleatoriedad verdadera vs pseudoaleatoriedad


