Course Syllabus for


EDIN01F, 7.5 credits

Valid from: Autumn 2018
Decided by: Anders Gustafsson
Date of establishment: 2018-11-27

General Information

Division: Electrical and Information Technology
Course type: Course given jointly for second and third cycle
The course is also given at second-cycle level with course code: EDIN01
Teaching language: English


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.


Knowledge and Understanding

For a passing grade the doctoral student must

Competences and Skills

For a passing grade the doctoral student must

Course 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.

Course Literature

Lecture notes in cryptology (distributed by the department).

Instruction Details

Types of instruction: Lectures, project

Examination Details

Examination format: Written exam. Written exam and three mandatory projects.
Grading scale: Failed, pass

Admission Details

Assumed prior knowledge: A first course in programming. Basic mathemathics like linear algebra and probability theory.

Further Information

Course coordinator: Professor Thomas Johansson,

Course Occasion Information

Contact and Other Information

Course coordinators:
Web page:

Complete view