IAM502 STREAM CIPHERS
Course Code: | 9700502 |
METU Credit (Theoretical-Laboratory hours/week): | 3 (3.00 - 0.00) |
ECTS Credit: | 8.0 |
Department: | Institute Of Applied Mathematics |
Language of Instruction: | English |
Level of Study: | Graduate |
Course Coordinator: | Lecturer Dr. MUHİDDİN UĞUZ |
Offered Semester: | Fall or Spring Semesters. |
Course Objectives
The primary focus of this course will be on the constructions of various cryptographic objects, such as Linear feed back shift registers, Stream ciphers, pseudo random sequence generators, nonlinear feedback shift registers, and others. The course will cover also what security properties are desirable in such objects, how to properly define these properties and how to design objects that satisfy them. This course also serves as an introduction for students who are interested in pursuing research in cryptography.
Course Content
Linear Feedback Shift Registers: Generating Functions, Minimal Polynomial and Families of Recurring Sequences, Characterizations and Properties of Linear Recurring Sequences. Design and Analysis of Stream Ciphers: Stream Ciphers Using LFSRs, Additive Generators, Gifford, Algorithm M, PKZIP. Other Stream Ciphers and Real Random Sequence Generators: RC4, SEAL, WAKE, Feedback with Carry Shift Registers, Stream Ciphers using FCSRs, Non - Linear- Feedback Shift Registers. Cascading Multiple Stream Ciphers, Generating Multiple Streams from a Single Pseudo-Random-Sequence Generator.
Course Learning Outcomes
This is one of the core courses of the Cryptography Program at IAM introducing Stream Ciphers. A stream cipher is a type of private key encryption algorithm. Stream ciphers can be designed to be very fast compared to block ciphers. Block ciphers operate on large blocks of data, whereas a stream cipher typically operates on relatively small blocks such as single bits or bytes. With a stream cipher, the transformation of plaintext units varies, depending on when they are encountered during the encryption process. A stream cipher generates a sequence of bits used as a key and encryption is accomplished by combining these bits with the plaintext. This course will attempt to cover the various kinds of building blocks of stream ciphers, and a variety of mathematical tools that can be used to design such ciphers. After taking the course, the students should have an overview of stream ciphers. In industry, they should be able to carefully choose and design a security scheme for a given application.