DD2448 Foundations of Cryptography 7.5 credits

Kryptografins grunder

Advanced course in computer science giving an introduction to modern cryptography.

  • Education cycle

    Second cycle
  • Main field of study

    Computer Science and Engineering
  • Grading scale

    A, B, C, D, E, FX, F

Course offerings

Spring 19 krypto19 for programme students

  • Periods

    Spring 19 P3 (3.0 credits), P4 (4.5 credits)

  • Application code


  • Start date


  • End date


  • Language of instruction


  • Campus

    KTH Campus

  • Tutoring time


  • Form of study


  • Number of places

    No limitation

  • Course responsible

    Douglas Wikström <dog@kth.se>

  • Target group

    Only contract education.

Intended learning outcomes

After a completed course, the student should be able to

  • discuss the following basic concepts in cryptography:
    symmetric and asymmetric encryption, digital signatures, cryptographic hash functions and strong pseudorandom generators and to give examples of instantiations of each concept
  • conduct simple analyses of cryptographic constructions such as cryptosystems and cryptographic protocols
  • read analyses performed by others of cryptographic constructions such as cryptosystems and cryptographic protocols and decide if the given analysis can be trusted
  • read and understand technical articles in cryptography.

Course main content

Classical encryption methods. What is meant by secure encryption? Background in information theory, entropy. Symmetric encryption algorithms, for example the Advanced Encryption Standard (AES). Public-key cryptosystems for encryption and digital signatures, e.g., RSA, ElGamal, and Schnorr signatures. Cryptographically secure hash functions in theory and practice (SHA). Properties and examples of pseudo random number generators. Connections between complexity theory and cryptography.


Single course students:

SF1604 Linear algebra, SF1625 Calculus in one variable, SF1626 Calculus in several variables, SF1901 Probability theory and statistics, DD1337 Programming, DD1338 Algorithms and Data Structures, DD1352 Algorithms, Data Structures and Complexity, SF1630 Discrete Mathematics or corresponding courses

Recommended prerequisites

Knowledge equivalent to either one of the courses DD1352 Algorithms, Data Structures and Complexity or DD2354 Algorithms and Complexity and knowledge of probability theory, mathematics and algorithm theory acquired in the mandatory courses of the D or F program.


Stinson, Cryptography; theory and practice, Chapman & Hall.


  • ÖVN1 - Exercise, 7.5, grading scale: A, B, C, D, E, FX, F

In this course all the regulations of the code of honor at the School of Computer science and Communication apply, see: http://www.kth.se/csc/student/hederskodex/1.17237?l=en_UK.

Requirements for final grade

Written exercises (OVN1; 7,5 university credits).

Offered by

EECS/Computer Science


Douglas Wikström, tel: 790 8138, e-post: dog@csc.kth.se


Douglas Wikström <dog@kth.se>

Supplementary information

The course is held in English if the students wish so.

You cannot count both DD2448 and DD2449 in your exam, since DD2448 has replaced DD2449.

Add-on studies

Please discuss with the instructor.


Course syllabus valid from: Spring 2019.
Examination information valid from: Spring 2019.