This class will study current research topics in cryptography. In this edition, we will focus on the applied side of cryptography, i.e., we will look at the research surrounding cryptographic methods that are either currently in use, or that are candidates for future deployment. We will adopt a rigorous lens, learning to reason formally about security requirements, and whether these goals are achieved.
The following is a tentative list of topics that we will be covering: * Review of basic cryptographic algorithms and standards: Block ciphers, cryptographic hash functions, secret- and public-key encryption, digital signatures, message authentication. * Authenticated encryption * Public-key infrastructures and certificates * Introduction to the TLS/SSL protocol * Generation of pseudorandom bits * Storage encryption * Password-based cryptography * Application-specific encryption: Format-preserving encryption, format-transforming encryption, order-preserving encryption * The Bitcoin protocol
The class will alternate lectures on foundations with student presentations on concrete solutions and existing attacks. There will be a final project at the end of class. The class complements Huijia Lin’s graduate-level introduction to cryptography taking place in Fall ‘14, with only a small overlap. While students who attended it will see further applications of the principles they learnt, this class is meant to be independent -- the necessary background will be delivered as we proceed.
This class is suitable both for students with a theoretical background as well as for students with a systems mindset who are interested in learning about cryptography. Topics for presentations, as well as projects, will be available for students with both these inclinations.