For practical reasons (such as delay and ease of processing) the semi-infinite message stream is usually subdivided into fixed size entities which are enciphered serially. There are two fundamentally different approaches to how a sensible enciphering could be accomplished. When the enciphering transformation operates on each such message entity independently, then one speaks of a block cipher. Thus block ciphers are simple substitution ciphers and must have necessarily large alphabets to prevent cryptoanalysis by brute force. This is why the suggestive name “block” is used to designate the size of a message entity. Stream ciphers, in contrast, encipher each message entity with a time-varying function whose time dependency is governed by the internal state of the stream cipher. Since, for this enciphering principle, the message entities are not required to be large, one speaks of “character” to designate the size of a message entity. After each character is “enciphered” the stream cipher changes state according to some rule. Therefore two occurrences of the same plaintext character usually do not result in the same ciphertext character.
KeywordsLinear Complexity Block Cipher Stream Cipher Linear Feedback Shift Register Perfect Secrecy
Unable to display preview. Download preview PDF.