Course syllabus

Course-PM

TDA352 / DIT352 Cryptography lp2 HT24 (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.

Canvas structure

  • The Syllabus/PM centralizes the most relevant information
  • Modules/Home provides a quick link to lecture material, (mandatory) home and (optional) bonus assignments.
  • 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

TimeEdit

Course literature

There is plenty of material freely available online about 'introduction to cryptography'.

We will use two main resources: An Intensive Introduction to Cryptography by B. Barak; and A Course in Cryptography, by Pass and Shelat

This page provides an overview of the chapters used in the course, organized by module/lectures.

We are also developing lectures notes.

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. 

We offer office hours to directly address questions on exercises and home assignments. They usually run on Mondays 11:30-12:30 (see Course Summary below for further details).

The course is organized 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 are 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 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 8th. This deadline is FIRM.

The home assignments can be handed out in group of two people, 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 (Search for Teammates!) for picking a partner.

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 17 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.

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 +2 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.

Changes made since the last occasion

Minor changes in the content of lectures, revised home assignments 1, 2 and 3, revised exercise sessions. 

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, analyze 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.

Syllabus Chalmers

Syllabus GU

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 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"
if (tot_points < 45):
return "grade 4"
return "grade 5"

The exam provides 0-60 points, and bonus assignments provide 0-6 points.

Student representatives

Student representatives in this course are:

- Fanny Hessel <fannyhes@student.chalmers.se>
- nayatullah Norozi <norozie@student.chalmers.se>
- Jacob Billvén <billven@student.chalmers.se>
- Olof Forsberg <olofforsberg0499@gmail.com>
- Petter Lindgren <petter-lindgren@hotmail.com>
- Simon Erik Strömbäck Olofsson <eriksimo@student.chalmers.se>

Course summary:

Date Details Due