TEK4500 – Introduction to Cryptography
Changes in the course due to coronavirus
Autumn 2020 we plan for teaching and examinations to be conducted as described in the course description and on semester pages. However, changes may occur due to the corona situation. You will receive notifications about any changes at the semester page and/or in Canvas.
Spring 2020: Teaching and examinations was digitilized. See changes and common guidelines for exams at the MN faculty spring 2020.
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.
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.
Recommended previous knowledge
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.
- 10 credits overlap with UNIK4220 – Introduction to Cryptography (continued).
- 10 credits overlap with UNIK9220 – Innføring i kryptografi (discontinued).
- 8 credits overlap with UNIKI-IKRY.
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.
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.