A stream cipher is a symmetric key cipher where plaintext digits are combined with a pseudorandom cipher digit stream (keystream). In a stream cipher, each plaintext digit is encrypted one at a time with the corresponding digit of the keystream, to give a digit of the ciphertext stream. Since encryption of each digit is dependent on the current state of the cipher, it is also known as state cipher. In practice, a digit is typically a bit and the combining operation is an exclusive-or (XOR). The pseudorandom keystream is typically generated serially from a random seed value using digital shift registers. The seed value serves as the cryptographic key for decrypting the ciphertext stream. Stream ciphers represent a different approach to symmetric encryption from block ciphers. Block ciphers operate on large blocks of digits with a fixed, unvarying transformation. This distinction is not always clear-cut: in some modes of operation, a block cipher primitive is
Un cifrador de flujo es un cifrador de clave simétrico donde los dígitos plaintext se combinan con un flujo de dígitos de cifrado pseudorandom (keystream). En un cifrador de flujo, cada dígito plaintext es cifrado uno a la vez con el dígito correspondiente del flujo de teclado, para dar un dígito del flujo de cifrado. Dado que el cifrado de cada dígito depende del estado actual del cifrado, también se conoce como cifrado de estado. En la práctica, un dígito es típicamente un bit y la operación de combinación es un exclusivo-o (XOR). El flujo de teclado pseudorandom es generado típicamente en serie a partir de un valor de semilla aleatorio utilizando registros digitales de cambios. El valor de semilla sirve como la clave criptográfica para descifrar el flujo de cifrado. Los cifradores de flujo representan un enfoque diferente de la cifrado de bloques. Los cifradores operan en bloques grandes con un bloque f