Course syllabus

Kryptoteknik
Cryptography

EDIN01, 7,5 credits, A (Second Cycle)

Valid for: 2013/14
Decided by: Education Board A
Date of Decision: 2013-04-15

General Information

Elective for: C4, C4-ks, D4, D4-ks, E4, E4-ks, F4, MWIR2, Pi4, Pi4-pv
Language of instruction: The course will be given in English on demand

Aim

This course is intended to be an introduction to the fascinating subject of cryptography. It provides both a firm ground in the fundamentals and a feel for the subject for anyone interested either in carrying out cryptographic research or employing cryptographic security.

Learning outcomes

Knowledge and understanding
For a passing grade the student must

Competences and skills
For a passing grade the student must

During the course you have to present and discuss your knowledge through exercises and several smaller mandatory projects.

Contents

Classical cryptography: Introduction and basic notation, The Caesar cipher, simple substitution, polyalphabetic ciphers (Vigenére, Kasiski’s method, Vernam), transposition ciphers, rotor machines (Enigma).

Shannon’s theory of secrecy: entropy, key and message equivocation, redundancy, unicity distance, perfect secrecy.

Shift register theory and stream ciphers: Finite fields, linear feedback shift register sequences, periods and cycle sets, shift register synthesis, nonlinear combinations of sequences, attacks on stream ciphers.

Block ciphers: Data Encryption Standard (DES), Advanced Encryption Standard (AES).

Public key cryptography: Basic number theory, RSA, Diffie-Hellman key exchange, factoring, primality, digital signatures.

Hash functions: properties, collision attacks, the birthday paradox

Authentication codes: Impersonation and substitution attacks.

Secret sharing: Shamir’s threshold scheme, general secret sharing, perfect and ideal schemes.

Projects: 1. Factoring. . 2. Shift register sequences. 3. Correlation attacks

Examination details

Grading scale: TH
Assessment: Written exam and three mandatory projects.

Admission

Required prior knowledge: A first course in programming, (e.g. EDA011 or EDA016 ).
The number of participants is limited to: No
The course overlaps following course/s: EDI051

Reading list

Contact and other information

Course coordinator: Professor Thomas Johansson, thomas@eit.lth.se
Course homepage: http://www.eit.lth.se/course/edin01