Course syllabus


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

Valid for: 2015/16
Decided by: Education Board A
Date of Decision: 2015-04-10

General Information

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


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.


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.


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,
Course homepage: