In cryptography ciphers is the technical term for encryption and decryption algorithms. They
are an important sub-family that features high speed and easy implementation and are an
essential part of wireless internet and mobile phones. Unlike block ciphers stream ciphers
work on single bits or single words and need to maintain an internal state to change the cipher
at each step. Typically stream ciphers can reach higher speeds than block ciphers but they can
be more vulnerable to attack. Here mathematics comes into play. Number theory algebra and
statistics are the key to a better understanding of stream ciphers and essential for an
informed decision on their safety. Since the theory is less developed stream ciphers are often
skipped in books on cryptography. This book fills this gap. It covers the mathematics of stream
ciphers and its history and also discusses many modern examples and their robustness against
attacks. Part I covers linear feedback shift registers non-linear combinations of LFSRs
algebraic attacks and irregular clocked shift registers. Part II studies some special ciphers
including the security of mobile phones RC4 and related ciphers the eStream project and the
blum-blum-shub generator and related ciphers. Stream Ciphers requires basic knowledge of
algebra and linear algebra combinatorics and probability theory and programming. Appendices in
Part III help the reader with the more complicated subjects and provides the mathematical
background needed. It covers for example complexity number theory finite fields statistics
combinatorics. Stream Ciphers concludes with exercises and solutions and is directed towards
advanced undergraduate and graduate students in mathematics and computer science.