TEK4500 – Introduction to Cryptography
Course description
Schedule, syllabus and examination date
Course content
Cryptography is a fundamental part of the security in 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. A short introduction to quantum computers and their relevance for cryptography will also be given, together with a description of some (presumed) quantum safe systems. Some of the hard mathematical problems underlying the security of asymmetric systems will be covered, such as computing discrete logarithms and solving various hard problems on lattices.
More advanced topics, such as cryptographic protocols, 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 AES, SHA-2, HMAC, and AES-GCM (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 Diffie-Hellman, ElGamal, (EC)DSA, ML-KEM, and ML-DSA (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.
- understand the basics of quantum computers and their relevance for 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
The course emphasizes precise and rigorous definitions, so a bit of mathematical maturity will be helpful. With that being said, the course is more or less self-contained and will introduce all the necessary background during the lectures. Nevertheless, examples of topics that can be useful (but not required) to have heard about, include:
- probability theory (STK1100 – Probability and Statistical Modelling)
- discrete mathematics (MAT2250 – Discrete Mathematics (discontinued))
- algorithms (IN3130 – Algorithms: Design and Efficiency)
- information security (IN2120 – Information Security).
Overlapping courses
- 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.
Teaching
The teaching includes 2 hours of lectures and 1 hour of recitation per week.
A mandatory midterm assignment must be passed in order to be eligible for the final exam.
Examination
- The course has mandatory assignments which must be approved before you can sit the final exam.
- A final written exam counts 100% towards the final grade.
In case of few students, the final exam may be oral.
When writing your exercises make sure to familiarize yourself with the rules for use of sources and citations. Breach of these rules may lead to suspicion of attempted cheating.
It will also be counted as one of the three attempts to sit the exam for this course, if you sit the exam for (one of) the following course(s):
Examination support material
Language of examination
Grading scale
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.
More about examinations at UiO
- Use of sources and citations
- How to use AI as a student
- Special exam arrangements due to individual needs
- Withdrawal from an exam
- Illness at exams / postponed exams
- Explanation of grades and appeals
- Resitting an exam
- Cheating/attempted cheating
You will find further guides and resources at the web page on examinations at UiO.