Moderne Cryptografie

Modern Cryptography

6 EC

Semester 1, periode 1

5062MOCR6Y

Eigenaar Bachelor Informatica
Coördinator dr. C. Schaffner
Onderdeel van Minor Logic and Computation, jaar 1Bachelor Informatica, jaar 3Dubbele bachelor Wiskunde en Informatica, jaar 3

Studiewijzer 2018/2019

Globale inhoud

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 we will closely follow, check out the course overview video!)

Studiemateriaal

Literatuur

Overig

Leerdoelen

At the end of the course, the student is able to:

  • distinguish modern-day cryptography from ancient cryptography
  • understand the difference between encryption and authentication
  • understand 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
  • follow cryptographic security proofs by reduction
  • recognize the discrepancy between theoretically secure and practically used cryptography
  • recognize aspects of number theory which are relevant to cryptography
  • understand basic computational problems that are important for cryptography such as the factoring problem, the RSA problem, the discrete-logarithm problem.

(academic soft skills)

  • collaborate (under guidance of teachers) in small teams of roughly four 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.

Onderwijsvormen

  • Flipped-classroom work session
  • Zelfstudie
  • Werkcollege

Aanwezigheid

Aanwezigheidseisen opleiding (OER-B):

  • Voor practica en werkgroepbijeenkomsten met opdrachten geldt een aanwezigheidsplicht. Wanneer studenten niet voldoen aan deze aanwezigheidsplicht kan dit als gevolg hebben dat het onderdeel niet met een voldoende kan worden afgerond.

Toetsing

Onderdeel en weging Details

Eindcijfer

50%

Written exam

35%

average (group) homework grade

15%

average grade in all concept questions to be answered individually online before each work session

Cooperation while solving the exercises is highly encouraged. In order to pass the course, each student has to have presented at least one problem during the presentation sessions.

There will be a final written exam, consisting of a (closed-book) multiple-choice concept quiz, and a (open-book, electronic-device) problem part.

Fraude en plagiaat

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

Weekplanning

This course will be taught in flipped-classroom style, check this video or this infographic to learn more about it. For you as students, 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. 

Each of the seven study weeks will be organized as follows:

  1. At the end of day 0, students are distributed randomly into groups of 3 for that week.
  2. On day 1, students study that week's material individually.
  3. At the end of day 1, they have individually completed the according reading questions on Canvas, they individually submit possible questions they have about the material via Canvas.
  4. On day 2, there will be a 4-hour plenary work session, where the most important questions are discussed by the teachers.
  5. After that, students work in their groups of 3 on additional practice problems. At the end of the work session, the homework problems of this week are released.
  6. On day 4, there are student presentation sessions (in sections of around 20 students), where the groups present and discuss the solutions to practice problems with the other groups in this section.
  7. On day 0 of the following week, students hand in the homework in groups of 3. TAs correct the homework on Canvas and give feedback. All students of the group receive the same grade for the homework.

Rooster

Het rooster van dit vak is in te zien op DataNose.

Aanvullende informatie

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 choice of language is flexible, however some homeworks will have a networking component with the networking code provided for you in a particular language. It is assumed you can pick up what is needed in order to complete the assignments.

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.

Verwerking vakevaluaties

Hieronder vind je de aanpassingen in de opzet van het vak naar aanleiding van de vakevaluaties.

Contactinformatie

Coördinator

  • dr. C. Schaffner