Course syllabus
Course-PM
TDA352 / DIT250 Cryptography lp2 HT23 (7.5 hp)
Course is offered by the department of Computer Science and Engineering
TimeEdit - HA1-modes.pdf - HA2-PKC.pdf - HA3-MPC.pdf - Fire - Literature
Contact details
- Examiner and main lecturer: Elena Pagnin, elenap@chalmers.se
- Contact me with questions on course content, examination, sensitive matters.
- Junior Course Assistant: Victor Morel, morelv@chalmers.se
- Contact me with questions on finding a home-assignment partner, deadline extensions, course logistics.
- TA's responsible for exercise sessions are:
- Ivan Oleynikov, ivanol@chalmers.se
- Adrian Perez Keilty, keilty@chalmers.se
- Hanna Ek, hanna.ek@chalmers.se
- TA's responsible for grading of and feedback on home assignments are:
- Ivan Oleynikov, ivanol@chalmers.se (main contact person for Home Assignment 3)
- Adrian Perez Keilty, keilty@chalmers.se (Home Assignment 1)
- Hanna Ek, hanna.ek@chalmers.se (Home Assignment 2)
- Sara Stråhle
- Jonathan Lindqvist
- Elias Ekroth
- Willem Brahmstaedt
- There are dedicated office hours for students to directly ask questions to TAs (details in Course Summary below)
Canvas structure
- The Syllabus/PM centralizes the most relevant information
- Modules provides a quick link to lectures' slides, home assignments and bonuses
- The Discussions part is not used, please register to Piazza instead. Piazza provides the possibility to ask questions anonymously and to find a partner for assignments. Please respect Chalmers' rules and basic courtesy when interacting on Piazza (StackOverflow Code of Conduct provides a good baseline of how one should behave).
- Assignments are not handled in Canvas, please register to Fire instead. Fire is a self-hosted solution to manage grading, you can find more information following the link aforementioned.
Course purpose
The purpose of the course is to give an overview of cryptographic primitives, protocols and applications.
Schedule
Course literature
There is plenty of material freely available online about 'introduction to cryptography'.
To address this baffling variety of resources, we centralize on this page an overview of the literature used in the course, organized by module.
Course design
The main learning activities in the course are: lectures (Tuesdays and Fridays 10-12), exercise sessions (Wednesdays 8-10 from course week 2). Lectures and exercise sessions take place on campus in physical form and will not be recorded or zoomed.
Office hours are also proposed for students to directly ask questions to TAs. They usually run on Wednesdays 14:30-15:30 (see Course Summary below).
The course is organised in 3 modules. Each module lasts about 2 weeks and contains 4 lectures, 2 exercise sessions, and 1 mandatory home assignment (see details next). An additional recap lecture concludes the course. There is a number of optional bonus assignments to obtain extra points that count towards the final grade (see details next).
There are three mandatory home assignments for which students receive supervision and feedback on. Each mandatory assignment has a strict deadline. Students must hand in a, possibly incomplete, solution before the deadline. After receiving feedback from graders, you should submit an improved solution. We expect most student to pass at the second or third attempt. A maximum of 5 regrading for the each Home Assignment is allowed, mind that graders need time to assess your resubmission so try to follow the recommended resubmission deadlines. The final deadline for submitting the last attempt for home assignment is January 7th. This deadline is FIRM.
The home assignments can be handed out per group of two or alone. You can change group for each assignment but not for the resubmission of the same home assignment. The management of groups is done through Fire as explained here. You can choose your group until the deadline. A space is dedicated on Piazza (partnering) for picking a partner.
There are 3 bonus assignments (1 per module), these are not mandatory, individual (discussing in groups is great, but each person needs to submit a different solution), and allow a single submission attempt. Passing one bonus assignments results in additional points added to your exam score (see the concrete formula in the "Examination form" section), if the exam is taken in the same academic year. A maximum of 6 points can be collected through bonus assignments. Bonus assignments are designed for the fun of learning and digging into topics that branch out from the content of the lectures. They require some original thinking and provide you an opportunity to have hands-on experience with some cryptographic libraries. They are (hopefully) rewarding to solve, and give you extra points for the final grade, but they do not include any material that will give you a considerable advantage in writing a good exam.
A preliminary assignment in the form of a quiz has been designed to assess your understanding of the rules aforementioned. It is mandatory and you can find it on Canvas following this link. Note that its deadline (Sunday 12 November) is a few days before the first graded home assignment, to ensure that your understanding is prior to any submission that can matter for your curriculum.
Changes made since the last occasion
Minor changes in the content of lectures, new home assignment 1 and bonus 1, revised exercises and literature.
Learning objectives and syllabus
Learning objectives:
-
- Well-established cryptosystems
- Core principles behind provable security and constructive cryptography
- Goals and design principles for several cryptographic primitives and proof system
- Identify, analyse and explain various forms of attacks based on improper usage of cryptographic primitives, modes of operation, or protocols
- Rigorous proofs of security
Link to the syllabus on Studieportalen.
Examination form
The examination has three components (two mandatory, one optional):
- A written, closed-book exam with only a (rarely necessary) calculator as aid.
- Three paper-and-pencil home assignments.
- Optional Bonus assignments (in form of report and/or coding).
To pass the course the student must pass the exam and all three mandatory home assignments. The grade is determined by the points collected in the exam, if these reach the passing threshold, then any points collected with passed bonus assignments are added (see the pseudocode formula below). The mandatory assignments do not count towards the final grade but are necessary in order to pass the course.
def final_grade(exam_points,bonus_points):
if (exam_points < 30):
return "not pass"
else:
tot_points = exam_points + bonus_points
if (tot_points < 35):
return "grade 3" #G for GU students
if (tot_points < 45):
return "grade 4" #G for GU students
return "grade 5" #VG for GU students
The exam provides 0-60 points, and bonus assignments provide 0-6 points.
Student representatives
Student representatives in this course are:
- Adam Norberg (gusnorbead@student.gu.se)
- Janek Stoppkotte (janek.stoppkotte@gmail.com)
- Katri Lantto (katrilantto@gmail.com)
- Nor Führ (pingu@student.chalmers.se)
- Pedro Charneca Florindo (pflorindo02@gmail.com)
- Sifat Nawrin Nova (sifatn@student.chalmers.se)
- Shubham Saha (shubhams@student.chalmers.se)
Course summary:
Date | Details | Due |
---|---|---|