The course aims to provide a rigorous theoretical foundation on nonlinear feedback shift registers (NFSRs) and their role in stream cipher design. Students will explore generating functions and the characterization of nonlinear recurring sequences, gaining a deep understanding of their algebraic and statistical properties. The course emphasizes complexity measures such as linear and nonlinear complexity and how these impact cipher security. Additionally, it covers methods for combining NFSRs and analyzes practical stream cipher constructions like GRAIN. By the end, students will be equipped to theoretically evaluate and design secure stream ciphers based on NFSRs.