S. Dziembowski: Cryptography -  BISS'09
(preliminary page)
 

DESCRIPTION

The course we will provide an introduction to modern cryptography.  Over the last 3 decades cryptography witnessed a transformation from an "art of constructing ciphers" (in an ad-hoc, non-systematic manner) into a mature science with solid foundations.  In particular, it is now clear how to define security of cryptographic constructions, and how to base this security on well-defined computational assumptions .  Another big achievement of modern cryptography are the applications that go beyond the construction of protocols for secure communication, like, e.g., protocols for secure multiparty computations.

The course will be divided into two parts.  In the first part, that should take the first 3 days, we will introduce the basic cryptographic concepts (pseudorandom generators, block ciphers, stream ciphers, hash functions, one-way functions and trapdoor functions) and will explain how to use them as building-blocks in the construction of protocols for secure communication (symmetric and asymmetric encryption, message authentication codes and digital signature schemes).  In the remaining two days we will discuss more advanced cryptographic protocols: commitment schemes, zero-knowledge protocols, coin-tossing by telephone, oblivious transfer, private information retrieval, general two-party and multi-party computations.

We would like to stress that this course is not intended to provide an overview of the industrial cryptographic methods.  In other words, the main criterion in selecting the topics of the course is not the relevance to the practical applications, but their intellectual attractiveness, and the mathematical depth.

PREREQUISITES

Basic knowledge of complexity theory, probability theory, algebra and number theory (including Euler's phi function, Euler's totient theorem and Chinese remainder theorem).

   

  Reading resources:
  1. Main book: Jonathan Katz and Yehuda Lindell Introduction to Modern Cryptography

  2. Other texts:
    1. Ivan Damgård and Jesper Buus Nielsen: Commitment Schemes and Zero-Knowledge Protocols
    2. Ronald Cramer Introduction to Secure Computation (available on-line)
    3. Hans Delfs and Helmut Kneb Introduction to Cryptography
    4. Shafi Goldwasser and Mihir Bellare  Lecture Notes on Cryptography (available on-line)
    5. Victor Shoup A Computational Introduction to Number Theory and Algebra (available on-line)
    6. Doug Stinson Cryptography Theory and Practice, Third Edition




 
Slides
 
  • Lecture 1: Introduction to Cryptography [pptx,pdf]
  • Lecture 2: Symmetric Encryption [pptx,pdf]
  • Lecture 3: Message Authentication and Hash Functions [pptx,pdf]
  • Lecture 4: A Brush-up on Number Theory [pptx,pdf]
  • Lecture 5: Introduction to Public-Key Cryptography [pptx,pdf]
  • Lecture 6: Public-Key Encryption [pptx,pdf]
  • Lecture 7: Signature Schemes [pptx,pdf]
  • Lecture 8: Public-Key Infrastructure [pptx,pdf]
  • Lecture 9: Chosen-Ciphertext Security [pptx,pdf]
  • Lecture 10: Commitment Schemes and Zero-Knowledge Protocols[pptx,pdf]
  • Lecture 11: Two-Party Computation Protocols [pptx,pdf]
  • Lecture 12: Multi-party Computation Protocols [pptx,pdf]
  • Lecture 13: Private Information Retrieval [pptx,pdf]

  Homework (due 30.03). Please send the solutions (in pdf, scanned documents are ok) to stefan.dziembowski.biss09@gmail.com.