Course description
Introduction to the theory of permutation groups (action of a group on a set, transitive and k-transitive action, regular and k-sharply transitive action, primitive action, some maximal subgroups of the symmetric group),
finite field theory (fields, commutative rings, ideals, quotients, polynomial rings, primitive elements and polynomials),
permutation polynomials (over finite fields),
introduction to Boolean functions (property of the ANF, relations with Reed-Muller codes),
non-linearity in Boolean functions (classical non-linearity, functions MNL and AB, delta-uniformity and APN functions, weakly delta-uniformity and weakly APN functions, anti-invariance).
the role of the mixing layer and of the key-scheduling in tb systems,
classical Feistel ciphers and their security (DES, 3DES),
modern Feistel ciphers and their security (Blowfish, Camellia, Kasumi, Twofish),
other interesting block ciphers (IDEA,IDEA-NXT/FOX,SAFER).
Everyday in the afternoon there will be a lab session where the software package MAGMA will be used to implement the theory described in the morning lectures. We believe that the immediate concrete use of theoretical tools is the best way to learn them.