•A
typical stream cipher encrypts plaintext one byte at a time,
although a stream cipher may be designed to operate on one bit at a time or on
units larger than a byte at a time.
•
•Figure
7.5
is a representative diagram of stream cipher structure.
•In this
structure, a key is input to a pseudorandom bit generator that produces a
stream of 8-bit numbers that are apparently random.
•
•The output
of the generator, called a keystream, is
combined one byte at a time with the plaintext stream using the bit- wise
exclusive-OR (XOR) operation.
•The
stream cipher is similar to the one-time pad.
•The difference
is that a one-time pad uses a genuine random number stream, whereas a stream
cipher uses a pseudorandom number stream.
Following are important
design considerations for a stream cipher.
1.The
encryption sequence should have a large period. A pseudorandom num- ber
generator uses a function that produces a deterministic stream of bits that
eventually repeats. The longer the period of repeat the more difficult it will
be to do cryptanalysis. This is essentially the same consideration that was
discussed with reference to the Vigenère cipher, namely that the longer the
keyword the more difficult the cryptanalysis.
●
2.The keystream should
approximate the properties of a true random number stream as close as possible. For
example, there should be an approximately equal number of 1s and 0s. If the keystream is
treated as a stream of bytes, then all of the 256 possible byte values should
appear approximately equally often. The more random-appearing the keystream is,
the more randomized the ciphertext is,
making cryptanalysis more difficult.
●
3.The output
of the pseudorandom number generator is conditioned on the value of the input
key. To
guard against brute-force attacks, the key needs to be sufficiently long. The
same considerations that apply to block ciphers are valid here. Thus, with
current technology, a key length of at least 128 bits is desirable.
Stream Ciphers - Advantages
•With
a properly
designed pseudorandom number generator, a stream cipher can be as secure as
a block cipher of
comparable key length.
•A potential
advantage of a stream cipher is that stream ciphers that
do not use block ciphers as a building block are typically faster and use far
less code than do block ciphers.
•
•For
applications that require encryption/decryption of a stream of
data,
such as over a data communications channel or a browser/Web link, a stream
cipher might be the better alternative.
•For applications
that deal with blocks of data, such as file transfer, e-mail, and database,
block ciphers may be more appropriate.
•However,
either type of cipher can be used in virtually any application.
This comment has been removed by the author.
ReplyDelete