Stream cipher encryption and message authentication. Stream cipher
encryption is performed by generating a keystream at the transmitting end
from a state value, applying the keystream to plaintext to generate an
encrypted message block having at least a portion of the plaintext
converted to ciphertext, and updating the state value as a function of
said at least a portion of the plaintext. Stream cipher decryption is
performed by generating a keystream at the receiving end from the same
state value, applying the keystream to the encrypted message block to
convert the ciphertext to plaintext, and updating the state value as a
function of the plaintext. Message authentication techniques are also
described.