CyberGlossary

Criptografía

Cifrado de flujo

Definición

Cifrado simétrico que cifra los datos bit a bit o byte a byte mediante XOR con un flujo pseudoaleatorio derivado de una clave y un nonce.

Un cifrado de flujo genera un flujo pseudoaleatorio a partir de una clave secreta y un nonce, y lo combina por XOR con el texto claro byte a byte. Para descifrar, se regenera el mismo flujo y se aplica XOR al texto cifrado. Es muy adecuado para datos en streaming y entornos con recursos limitados, al no tener fronteras de bloque y mantener poco estado. Diseños modernos como ChaCha20 y Salsa20 son rápidos en software, de tiempo constante y seguros, mientras que diseños antiguos como RC4 están rotos y prohibidos en TLS, WPA y la mayoría de estándares. La regla esencial es no reutilizar nunca el par (clave, nonce): dos mensajes con el mismo flujo filtran su XOR y suelen permitir recuperar ambos textos. Por ello se usan habitualmente en modos autenticados como ChaCha20-Poly1305.

Ejemplos

  • ChaCha20-Poly1305 es el AEAD de cifrado de flujo dominante en TLS 1.3 y QUIC.
  • RC4 se usaba en WEP y SSL/TLS, pero hoy está prohibido.

Términos relacionados