Network security. Shared key cryptography. Perfect Ciphers according to Shannon, One-Time-Pad, unicity distance. Feistel ciphers. Public-key cryptography. Elements of modular arithmetic. RSA and El Gamal ciphers, the Diffie-Hellman protocol. Cryptographic one-way hash functions. Authentication and digital signature.
1) Michele Boreale. Note per il corso di Codici e Sicurezza.
Available online.
2) Further articles and material will be made available by the instructor.
Learning Objectives
Knowledge - The course aims at providing students with a thorough understanding of the scientific principles underlying the efficient, reliable and secure transmission of data.
Competence - The students will master the fundamental (mathematical, cryptographic and algorithmic) principles at the heart of data protection and Privacy.
Skills - At the end of the course, students will be capable of building high-level, rigorous models of communication systems. Students will also be capable of analyzing criticalities of communication systems from the point of view of Security.
Prerequisites
Familiarity with basic concepts in Algorithms, Programming and Probability Theory.
Teaching Methods
Lectures.
Further information
Office hours:
by appointment.
Type of Assessment
The exam consists of two parts:
1. Project assignment,
centered around a programming task, or on a theoretical subject (*);
2. oral examination on the course topics and on the project assignment.
(*) examples of such project assignments are made available through the e-learning platform.
Course program
Network security. Shared key cryptography. Perfect Ciphers according to Shannon, One-Time-Pad, unicity distance. Feistel ciphers. Public-key cryptography. Elements of modular arithmetic. RSA and El Gamal ciphers, the Diffie-Hellman protocol. Cryptographic one-way hash functions. Authentication and digital signature.
Elements of Information Theory. Compression codes: 1st Shannon theorem. Huffman codes. Noisy channels, capacity and error correction codes.