About

A stream cipher is an encryption algorithm which encrypts arbitrary length plaintext, using a key. Some stream ciphers generate a keystream from only the key, which is then XOR-combined with the plain text, others feed back plaintext or ciphertext into the algorithm to create the keystream.

A stream cipher is an encryption algorithm which encrypts arbitrary length plaintext using a key. Some stream ciphers generate a keystream from only the key, which is then XOR-combined with the plain text. These are called synchronous stream ciphers. Others feed plaintext or ciphertext back into the algorithm to create the keystream. If they depend only on the key and a fixed window of ciphertext, they are called self-synchronizing stream ciphers.

Stream ciphers can be build from block ciphers using a mode of operation, or be independent algorithms. They are usually malleable (cf. ) unless an authentication algorithm is used.

Examples include:

  • The block cipher modes , and all turn a block cipher into a stream cipher.
  • is a common stream cipher that is largely considered broken and being phased out.
  • and are newer stream ciphers used in the NaCl library and in TLS.

See also: the Wikipedia article on stream ciphers.

history | excerpt history