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

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

We meet every other Tuesday at 10am in 3A08. At each session, a designated presenter takes responsibility for, well, presenting the Chapter of that week.

Next meeting

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

Tuesday, June 13 @ 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

Future meetings

Tuesday, June 27 @ 3A08. Chapter 8: Number Theory and Cryptographic Hardness Assumptions
Presented by Jacob Benjamin Cholewa
Mentor: Søren Debois


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

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


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.

March 21, 2017.