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, 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.
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 and at least two weekly home work assignments 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):
- UNIK4220 – Introduction to Cryptography (continued)
- UNIK9220 – Innf?ring i kryptografi (discontinued)
Examination support material
No examination support material is allowed.
Language of examination
Courses 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.
More about examinations at UiO
- Use of sources and citations
- 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.