Flow Cipher
For some applications, such as encryption of telephone conversations, block ciphering is inappropriate because data streams occur in real time in small fragments. The data samples can be as small as 8 bits or even 1 bit, and it would be wasteful to fill in the rest of the 64 bits before encrypting and transmitting them.
Flow ciphers are encryption algorithms that can perform encryption incrementally, making the text clear, in bit-ciphertext. This is accomplished by constructing a key flow generator. A key stream is an arbitrary size sequence of bits that can be used to obscure the contents of a data stream by combining the key flow with the data stream by the XOR function. If the keystream is secure, the stream of encrypted data will also be.
A key flow generator can be constructed by iterating a mathematical function over a range of input values to produce a continuous stream of output values. The output values are then concatenated to construct clear text blocks, and the blocks are encrypted using a key shared by the sender and receiver.
In order to maintain the quality of service of the data flow, the key flow blocks should be produced a little beforehand when they are to be used, and the process that produces them should not require too much processing effort as to slow down the flow of data.
wiki