Course syllabus
Course PM
TDA352 / DIT250 TDA352 / DIT250 Cryptography lp2 HT21 (7.5 hp)
The course is offered by the department of Computer Science and Engineering
Contact details
- Examiner and lecturer is Björn von Sydow, sydow@chalmers.se
- TA's responsible for exercise sessions are
- William Hughes
- Ivan Oleynikov, ivanol@chalmers.se
- TA's responsible for grading of and feedback on home assignments and programming assignments are
- Fahmi Abdulqadir Ahmed
- Neethu Harindran
- Fredrik Meisingseth
- Bassam Kaddoura
Course purpose
The purpose of the course is to give an overview of cryptographic primitives, protocols and applications.
Schedule
Course literature
The course textbook is
William Stallings, Cryptography and Network Security, 6th or 7th edition, Pearson 2017.
This book is also used in the course Network Security in study period 4.
Course design
Learning activities in the course are lectures (Tuesdays and Fridays 10-12), exercise sessions (Tuesdays 8-10 from week 2 and Friday 8-10, week 6 only) and supervision and feedback on mandatory home assignments and programming assignment (via the Fire system and email). Lectures and exercise sessions take place on campus in physical form. They will not be recorded or zoomed.
Each mandatory assignment has a strict deadline. Students must hand in a, possibly incomplete, solution before the deadline. After feedback from graders, completions may be submitted twice on each assignment.
There are non-mandatory consultations with Ivan which students can attend at 14.30-15.30 on Mondays (office 6449, EDIT building). They are intended primarily to discuss any questions you may have on exercise problems (including past ones), but you can come with other questions as well. If the specified time does not work for you, send an email to Ivan
Changes made since the last occasion
Minor changes in content of lectures, but a completely new set of lecture slides. Exam design will change and example exams are available in module Exercise sessions (last two sessions are devoted to example exams).
Learning objectives and syllabus
Learning objectives:
- summarize the main goals of cryptography and illustrate this with a number of examples of how cryptographic services are integrated in current applications, both in software and hardware
- describe goals and design principles for and common structures of secret key primitives such as block and stream ciphers and message authentication codes
- identify, analyse and explain various forms of attacks based on improper usage of primitives, modes or protocols
- explain how basic public key primitives can be defined based on the difficulty of mathematical problems such as the discrete logarithm problem or factoring and analyse variants of these systems
- explain the various roles of hash functions as parts of other cryptographic primitives and protocols and the requirements this places on hash functions
- exemplify when various notions of security, such as information- theoretic, computational, provable and practical security, are applicable and describe the security guarantees provided
- explain basic key management techniques in both secret key and public key cryptography
Link to the syllabus on Studieportalen.
Examination form
The examination has two components:
- A written, closed-book exam with only a (probably unnecessary) calculator as aid.
- Three paper-and-pencil home assignments done individually and one programming assignment done in groups of two students.
To pass the course the student must pass the exam and all four assignments. The grade is determined by the exam; the assignments only have pass/fail grading.
Student representatives
Student representatives in this course are