Treat in depth the design criteria for cryptographic modules
called stream ciphers.
Content: This course is aimed to give a rather exhaustive knowledge
on the design of fast cryptographic
primitives known as stream ciphers. These ciphers are simple from
both software and hardware implementation
point of view. They are very well suited for fast mobile communication
and military purposes.
Basic building blocks in these ciphers are suitable cryptographic
primitives such as Boolean function, S-boxes, LFSR, modular addition etc.
A proper design and use of these primitives is of fundamental
importance for security. Diverse generic attacks on stream
ciphers are discussed, in particular recently introduced algebraic
attacks The design of cryptographically strong Boolean
mappings, a mapping that takes as input
n binary bits and outputs a single binary bit, is treated in depth.
To provide a larger throughput the very same schemes may use
a collection of several Boolean functions,
thus mapping n to m bits. It will be demonstarted that increasing
the number of output bits results in degradation
of important security parameters. Some elementary treatment of functions
over finite fields is advocated.
Design rationale behind the Advanced Encryption Standard
(AES) (representing the modern
design of block ciphers) and the state-of-art design of stream
ciphers is disscussed.
At the last phase of the course the students will be assigned a small
programming task aiming at practical
demonstration of possibilities to apply certain attack methods
on specific design schemes.