"Introduction to Modern Cryptography" Reading Group

This group works through “Introduction to Modern Cryptography” by Katz and Lindell. The purpose of the group is to understand, in depth and in detail, the foundations and application of modern cryptographic tools.

We meet ca. every other Tuesday at 10am in 3A08. At each session, a designated presenter takes responsibility for, well, presenting the Chapter of that week.
June 27, 2017. Alessandro Bruni proves that El Gamal is CPA-secure, provided the Decisional Diffie-Hellman problem is hard.

Next meeting

Tuesday, July 4 @ 3A08. Chapter 12: Digital Signature Schemes
Presented by Rosario Giustolisi & Søren Debois


Carsten Schürmann
Alessandro Bruni
Søren Debois
Marco Carbone
Rosario Giustolisi
Stefan Patachi

Jacob Benjamin Cholewa
Rasmus Wismann
Mads Frederik Madsen
Emma Arfelt Koch
Adrian Brink
Niels Abildgaard
Juan Miguel Lopez Munoz
Martin Bøgelund Hansen
Sigurt Bladt Dinesen

For students

This reading group requires a good understanding of the contents of one of the ITU discrete math courses, in particular the parts on combinatorics, probability and number theory. On that basis, you'll very likely have to work a fair bit, but if you are at all interested in cryptography, that work will pay off handsomely. If you find the contents overwhelming, you can optionally skip the chapters below marked with an asterisk. We are in the process of arranging some number of ECTS for active participation.

Previous meetings

Tuesday, June 27 @ 3A08. Chapter 11: Public-Key Encryption
Presented by Jacob Benjamin Cholewa and Alessandro Bruni

Monday, June 19 @ AUD3. Chapter 10: Key Management and the Public-Key Revolution
Presented by Mads Frederik-Madsen and Emma Arfelt Koch
Slides: The Public-Key Revolution
Mentor: Søren Debois
Left-over slides from the previous week: Number Theory & Cryptographic Hardness Assumptions
Helpful stackoverflow discussion on computing inverses, courtesy of Jacob.

Tuesday, June 13 @ 3A08. Chapter 8: Number Theory and Cryptographic Hardness Assumptions
Presented by Jacob Benjamin Cholewa and Stefan Patachi
Mentor: Alessandro Bruni
Slides: Number Theory & Cryptographic Hardness Assumption
Additional notes: Niels Abildgaard's bachelors thesis; operative Figure on p. 3.

Tuesday, June 6 @ 2A08.
Chapter 6.2: Practical Constructions of Symmetric-key Primitives, Block Ciphers
Presented by Søren Debois
Chapter 6.2–6.3: Practical Constructions of Symmetric-key Primitives, Block Ciphers & Hash Functions
Presented by Carsten Schürmann
Slides: See May 16.
Additional notes: An opinion on SHA-3, courtesy of Niels Abildgaard.

Tuesday, May 30.
Due to Øresund Security day.

Tuesday, May 16 @ 2A08.
Chapter 5.5: The Random-Oracle Model.
Presented by Alessandro Bruni.
Slides: Birthday attacks, Random-oracle models
Chapter 6.1, 6.2: Practical Constructions of Symmetric-Key Primitives
Presented by Søren Debois.
Slides: Practical Constructions of Symmetric-key Primitives (6.1, 6.2)

Tuesday, May 2 @ 3A12. Chapter 5: Hash Functions and Applications.
Presented by Martin Bøgelund Hansen
Mentor: Alessandro Bruni
Slides: Hash Functions and Applications

Tuesday, April 4 @ 3A08. Chapter 4: Message Authentication Codes.
Presented by Niels Abildgaard & Sigurt Bladt Dinesen
Mentor: Søren Debois
Slides: Message Authentication Codes

Tuesday, March 21 @ 3A08. Chapter 3: Private-key encryption.
Presented by Mads Frederik Madsen and Emma Arfelt Koch
Mentor: Søren Debois
Slides: Computational Security & shared-key encryption

Tuesday, March 7 @ 3A08. Chapter 1 & 2: Introduction & Perfectly Secret Encryption.
Presented by Jacob Benjamin Cholewa & Rasmus Wismann.
Slides: Introduction, Perfectly Secret Encryption.


June 19, 2017. Emma Arfelt Kock proves security of the Diffie-Hellman key-exchange protocol against an eavesdropper, assuming hardness of the Diffie-Hellman problem.

June 19, 2017. Frederik Madsen explains use of cryptographic "tickets" by a Key Distribution Center.

June 13, 2017. Stefan Patachi explains how to obtain cryptographically helpful cyclic abelian groups.

June 6, 2017. Carsten Schürmann uses a chosen-plaintext attack to break 2-round DES.

June 6, 2017. Søren Debois explains the inner workings of DES round function S-boxes.

May 16, 2017. Søren Debois establishes intuition for the state of the RC4 stream cipher.

May 2nd, 2017. Martin Bøgelund Hansen explains the Merkle-Damgård transform, constructing from a hash function defined on fixed-length inputs a hash function defined on (polynomially) arbitrary-length inputs.

May 2nd, 2017. Alessandro Bruni explains how to find hash collisions using the Birthday Problem in constant space.

April 4, 2017. Sigurt Bladt Dinesen proves that a pseudo-random function may serve as a secure fixed-length MAC.

March 21, 2017. Mads Frederik Madsen proves that using a pseudo-random generator as the pad in a one-time pad is computationally secure for a single-message eavesdropper. Not shown: ensuing animated discussion on the exact mechanics of the proof.