Saltar al contenido
uencoder

Stream Cipher

Un cifrador de flujo cifra byte a byte o bit a bit, aplicando XOR entre un flujo de claves y el texto claro; no necesita relleno y se adapta a datos en tiempo real y en streaming.

Propósito

Proporciona cifrado eficiente sin alineación de bloque, adecuado para flujos de red y datos continuos.

Mecanismo

El cifrado es C_i = P_i ⊕ S_i, donde S es el flujo de claves generado desde la clave y el nonce/contador mediante un PRG; el descifrado es idéntico (XOR es autoinverso). La seguridad depende del pseudoaleatoriedad del flujo y de la unicidad del nonce. Construcciones comunes: basadas en ARX (ChaCha), en LFSR y el modo AES-CTR.

Casos de uso

  • TLS 1.3 (ChaCha20-Poly1305)
  • Cifrado de audio/vídeo en tiempo real
  • VPN WireGuard
  • Cifrado en sistemas empotrados de bajos recursos

Ejemplos

  • entrada
    key + nonce → keystream
    Output
    C = P ⊕ S

    The nonce must never repeat

Errores comunes

Encrypting two messages with the same key+nonce (a two-time pad)
Use a unique nonce or counter per message

Términos relacionados

Herramientas relacionadas

References