Course manual 2025/2026

Course content

This course will introduce you to the foundations of modern cryptography, with an eye toward practical applications. We will learn the importance of carefully defining security; of relying on a set of well-studied “hardness assumptions” (e.g., that factoring large numbers is hard, or that AES is a pseudorandom function); and of the possibility of proving security of complicated constructions based on low-level primitives. We will not only cover these ideas in theory, but will also explore their real-world impact. You will learn about cryptographic primitives in wide use today, and see how these can be combined to develop modern protocols for secure communication.

(from Jon Katz's online course on coursera whose contents are closely related to this course, check out the course overview video!)

Study materials

Literature

Other

Objectives

  • Distinguish modern-day cryptography from ancient cryptography.
  • Explain the difference between encryption and authentication.
  • Explain the difference between private- and public-key cryptography.
  • Compare different security notions (indistinguishability, CPA, CCA) for private- and public-key encryption.
  • Apply security notions for private- and public-key authentication.
  • Recognize the discrepancy between theoretically secure and practically used cryptography
  • Recognize aspects of number theory which are relevant to cryptography.
  • Explain basic computational problems that are important for cryptography such as the factoring problem, the RSA problem, the discrete-logarithm problem.
  • Collaborate (under guidance of teachers) in small groups of four to five (unknown) students on practice problems. In particular, students who are already well-versed in certain topics or skills are encouraged to help their fellow group members in this respect, while weaker students are encouraged to seek help from their peers and the teachers whenever necessary.
  • Present solutions of mathematical problems orally to peers.

Teaching methods

  • Flipped-classroom work session
  • Zelfstudie
  • Presentatie/symposium

This course will be taught in a flipped-classroom styleLinks to an external site. with elements of team-based learningLinks to an external site. sprinkled in. 

Check this video to learn more about flipped-classroom style. For you as a student, the biggest difference to conventional lectures is that you have to prepare yourself before attending classes, as it is assumed during classes that you have studied the material already. The advantage of this model is that we can spend the "face-to-face" time during the work sessions to talk about the studied material together, to recapitulate the most difficult and important aspects, and to strengthen our understanding by actually working on the relevant problems in small groups. The work sessions will be led by the teacher and TAs, with the active involvement of the students. As a student put it wisely in a previous course evaluation: "The thing with flipped-classroom is that it is only successful when both the teachers and the students take a pro-active role."

Learning activities

Activiteit

Uren

 

Q&A sessions

10

 

Tentamen + Preparation

20

 

Flipped-classroom work sessions

28

 

Self-study, team homework

110

 

Totaal

168

(6 EC x 28 uur)

Attendance

  • Some course components require compulsory attendance. If compulsory attendance applies, this will be indicated in the Course Catalogue which can be consulted via the UvA-website. The rationale for and implementation of this compulsory attendance may vary per course and, if applicable, is included in the Course Manual.
  • Additional requirements for this course:

    Please attend all sessions. You will be required to present a solution to a problem in an exercise session at least once during the semester. 

    Assessment

    Item and weight Details

    Final grade

    1 (100%)

    Tentamen

    For all homeworks, all members of a team receive the same grade.

    The grade obtained at the exam counts for 60% towards the final grade, you have to have at least a score of 50% at the final exam to pass the course!

    There will be a written (in-person) final exam as indicated on Datanose. Most (about 80%) of the points will come from the reading questions, other Canvas quizzes, and some of the exercises listed in the "Exam Problems", or some minor variations of them. The exam is on paper and closed-book, i.e. WITHOUT notes/internet/electronic devices. We will provide you with all necessary definitions, for example all those in listed in the "Index of Security Definitions."

    Assignments

    Homework

    • There will be 6 homework problem series. They are to be handed in in groups of 4 students where all students will receive the same grade. Feedback will be provided through Canvas.

    Readings

    • There will be 2 readings per week (thus, 14 in total). This is an ungraded task. 

    Online quizzes

    • For each reading, there will be online quizzes. These are a graded assignment. They are intended to test your understanding of the material. Feedback is provided automatically.

    Solution presentation

    • You are required to present a solution to one of the provided exercise problems orally to your peers in an exercise session. This must be done once during the semester. 

    The homeworks provide 30% of your final grade, the online quizzes provide 7%, and the solution presentation 3%. Along with the 60% coming from your final exam score, this makes up your final grade for the course. However, recall that a score of 50% on the final exam is required to pass the course!

    Fraud and plagiarism

    Over het algemeen geldt dat elke uitwerking die je inlevert ter verkrijging van een beoordeling voor een vak je eigen werk moet zijn, tenzij samenwerken expliciet door de docent is toegestaan. Het inzien of kopiëren van andermans werk (zelfs als je dat hebt gevonden bij de printer, in een openstaande directory of op een onbeheerde computer) of materiaal overnemen uit een boek, tijdschrift, website, code repository of een andere bron - ook al is het gedeeltelijk - en inleveren alsof het je eigen werk is, is plagiaat.

    We juichen toe dat je het cursusmateriaal en de opdrachten met medestudenten bespreekt om het beter te begrijpen. Je mag bronnen op het web raadplegen om meer te weten te komen over het onderwerp en om technische problemen op te lossen, maar niet voor regelrechte antwoorden op opgaven. Als in een uitwerking gebruik is gemaakt van externe bronnen zonder dat een bronvermelding is vermeld (bijvoorbeeld in de rapportage of in commentaar in de code), dan kan dat worden beschouwd als plagiaat.

    Deze regels zijn er om alle studenten een eerlijke en optimale leeromgeving aan te kunnen bieden. De verleiding kan groot zijn om te plagiëren als de deadline voor een opdracht nadert, maar doe het niet. Elke vorm van plagiaat wordt bestraft. Als een student ernstige fraude heeft gepleegd, kan dat leiden tot het uitschrijven uit de Universiteit. Zie voor meer informatie over het fraude- en plagiaatreglement van de Universiteit van Amsterdam: www.student.uva.nl

    Course structure

    Our week with Modern Cryptography

    This is a 6 EC course given over 7 weeks, plus one exam week. We are aiming to entertain you for approximately 20 hours per week with this course.

    • Monday 9:00-11:00: office hour for any questions about the course. Corrected homework of previous week returned, explanation of homework corrections, recap of what went wrong.

    • Tuesday 23:59: deadline for handing in last week's homework.

    • by Wednesday 11:00: individually complete the reading and answer the reading questions on Canvas.

    • Wednesday 11:00-13:00: first work session of the week. 

    • by Friday 13:00: individually complete the reading and answer the reading questions on Canvas.

    • Friday 13:00-15:00: second work session of the week. 

    Work Sessions (Wed 15-17, Fri 15-17)

    Bring your own device!

    We expect you to be present in person. The general plan is to combine (brief) recaps of the readings with exercise problems that you will be encouraged to solve in groups. 

    Office-Hour and Homework Discussion (Mon 9-11)

    During the Monday session, you can ask any questions you have on the material of the course. It is a good opportunity to get the teachers to repeat the important concepts of the course contents so far. In particular, we discuss the solutions and corrections of the homework handed in the week before.

    Additional information

    This course has a significant mathematical component. No advanced mathematics background is assumed, but students are expected to have "mathematical maturity" since many of the concepts will be abstract, rigorous definitions and proofs will be given, and some advanced mathematics (group theory, number theory) will be covered. Basic background in discrete mathematics (probability, modular arithmetic) and analysis of algorithms (big-O notation, reading pseudocode) is assumed. 

    Moreover, some of the homeworks will require programming

    The course will be taught in English, homework should be handed in in English. Human interactions in Dutch are no problem.

    Additional information about the course will be available on Canvas.

    Contact information

    Coordinator

    • Nicolas Resch

    Staff

    • M.A. Brehm
    • Bas Jansweijer
    • Taco Walstra