TEK4500 – Introduction to Cryptography

Schedule, syllabus and examination date

Choose semester

Changes in the course due to coronavirus

Autumn 2020 the exams of most courses at the MN Faculty will be conducted as digital home exams or oral exams, using the normal grading scale. The semester page for your course will be updated with any changes in the form of examination.

See general guidelines for examination at the MN Faculty autumn 2020.

Course content

Cryptography constitutes today a fundamental and ingrained part of the security of all modern communication. Everything from web browsing, email, and telephony, to messaging apps, data storage and video conferencing, is today secured by cryptographic techniques. This course will introduce the central principles, methods, and definitions of cryptography, as well as presenting some of the most important applications and implementations.

The course will begin with a short history of classical cryptographic systems, before continuing with one of the two main pillars of modern cryptography, namely symmetric crypto systems. Topics covered are pseudorandom functions, number generators, stream ciphers, block ciphers, hash functions, message authentication functions, and block cipher modes-of-operations. Next, the second main pillar of modern cryptography, namely asymmetric cryptography, is covered. This includes topics such as asymmetric encryption, digital signatures, and key exchange, as well as some of the hard mathematical problems underlying the security of asymmetric systems, such as the factoring problem and the discrete logarithm problem.   

More advanced topics, such as cryptographic protocols or post-quantum cryptography, may also be covered depending on available time and student interest.

Learning outcome

After completing this course, you:

  • can describe central concepts, methods, and definitions within the field of cryptography
  • can define and understand the most important symmetric primitives, such as block ciphers, hash functions, and message authentication functions, and understand their applications and security definitions
  • know a few concrete instantiations of symmetric primitives, such as DES, AES, SHA-2, HMAC, etc., (examples may vary)
  • can define and understand the most important asymmetric primitives, such as asymmetric encryption, digital signatures, and key exchange, and understand their applications and security definitions
  • know a few concrete instantiations of asymmetric primitives, such as RSA, ElGamal, (EC)DSA, Diffie-Hellman, etc., (examples may vary)
  • know some of the hard mathematical problems underlying the security of cryptographic systems
  • can apply basic mathematical results from algebra, number theory, and probability theory within the context of cryptography.

Admission to the course

Students admitted at UiO must apply for courses in Studentweb. Students enrolled in other Master's Degree Programmes can, on application, be admitted to the course if this is cleared by their own study programme.

Nordic citizens and applicants residing in the Nordic countries may apply to take this course as a single course student.

If you are not already enrolled as a student at UiO, please see our information about admission requirements and procedures for international applicants.

Some knowledge or background from the following courses are recommended: linear algebra  from MAT1120 – Linear Algebra,  abstract algebra from MAT2200 – Groups, Rings and Fields, discrete mathematics from MAT2250 – Discrete mathematics, statistics from STK1100 – Probability and Statistical Modelling, information security from IN2120 – Informasjonssikkerhet, computations and complexity from IN2080 – Computability and Complexity and algorithms from IN3130 – Algorithms: Design and Efficiency.

Overlapping courses


The teaching includes 2 hours of lectures and 1 hour of problem-solving sessions per week throughout the semester.

This course has one mandatory assignment, which must be approved in order to take the final exam.


Final written exam which counts 100% towards the final grade. In case of few students, the final exam may be oral.

The course has one mandatory assignment, which must be approved in order to take the final exam.

Examination support material

No examination support material is allowed.

Language of examination

Subjects taught in English will only offer the exam paper in English. You may write your examination paper in Norwegian, Swedish, Danish or English.

Grading scale

Grades are awarded on a scale from A to F, where A is the best grade and F is a fail. Read more about the grading system.

Resit an examination

Students who can document a valid reason for absence from the regular examination are offered a postponed examination at the beginning of the next semester.

Re-scheduled examinations are not offered to students who withdraw during, or did not pass the original examination.

Special examination arrangements, use of sources, explanations and appeals

See more about examinations at UiO

Last updated from FS (Common Student System) Oct. 28, 2020 1:16:33 AM

Facts about this course

Teaching language
Norwegian (English on request)