Book contents
- Frontmatter
- Epigraph
- Contents
- Preface
- Acknowledgments
- 1 Introduction
- 2 The integers
- 3 Cryptography based on the integer ring
- 4 Cryptography based on the discrete logarithm
- 5 Information-theoretic methods in cryptography
- 6 Block ciphers
- 7 Stream ciphers
- 8 Authentication and ownership protection
- 9 Groups, rings, and fields
- 10 Cryptography based on elliptic curves
- 11 Cryptography based on hyperelliptic curves
- 12 Cryptography based on bilinear pairings
- 13 Implementation
- 14 Cryptographic protocols for security and identification
- 15 More public-key cryptography
- References
- Index
7 - Stream ciphers
Published online by Cambridge University Press: 05 April 2014
- Frontmatter
- Epigraph
- Contents
- Preface
- Acknowledgments
- 1 Introduction
- 2 The integers
- 3 Cryptography based on the integer ring
- 4 Cryptography based on the discrete logarithm
- 5 Information-theoretic methods in cryptography
- 6 Block ciphers
- 7 Stream ciphers
- 8 Authentication and ownership protection
- 9 Groups, rings, and fields
- 10 Cryptography based on elliptic curves
- 11 Cryptography based on hyperelliptic curves
- 12 Cryptography based on bilinear pairings
- 13 Implementation
- 14 Cryptographic protocols for security and identification
- 15 More public-key cryptography
- References
- Index
Summary
In contrast to a block cipher, which regards messages as segmented into datablocks of a fixed length, a stream cipher has a fixed beginning, but it has no fixed end. A stream cipher encrypts a plaintext datastream of indefinite length, such as a long bitstream, which we can regard as an infinite datastream. An infinite stream of plaintext symbols is fed into an encryptor, using an encryption key of length m bits, and the infinite stream of ciphertext symbols leaves the encryptor. Later, the infinite stream of ciphertext symbols enters the decryptor, which uses the same key of length m bits, and the infinite stream of plaintext symbols leaves the decryptor.
Stream ciphers have a long history, perhaps inspired by the one-time pad, and are in widespread use in many applications. A common form of stream cipher, called an additive stream cipher, converts the m-bit key into a semi-infinite binary stream, called a keystream. The encryptor adds the binary keystream modulo two to the binary datastream, bit by bit, to form the codestream. The decryptor adds the same keystream, modulo two, to the codestream, again bit by bit, and in this way recovers the datastream.
Recall that a binary one-time pad consists of a semi-infinite random sequence of equiprobable bits that is known to both the encryptor and the decryptor. There is no constraint on the random binary sequence used as a one-time pad other than that it be maximally random.
- Type
- Chapter
- Information
- Cryptography and Secure Communication , pp. 181 - 217Publisher: Cambridge University PressPrint publication year: 2014