Quarter
Course Type
Course Area
Foundations
Enrollment Code
53348
Location
Phelp 3526
Units
4
Day and Time
MW 1100-1250
Course Description


This class will cover applied cryptography, We will look at current research surrounding the cryptography which is either currently in use, or is close to being deployed. We will adopt a rigorous lens, learning to reason formally about cryptographic security. In the first part of the class, I will give a somewhat hands-on introduction to the basic tools (block ciphers, hash functions, symmetric and public key encryption, signatures). The rest of the class will then focus on complex real-world solutions, and research on them. Possible topics will include: - Authenticated encryption schemes - TLS/SSL, digital certificates, public-key infrastructures - Secure messaging - Approaches to securing basic internet protocols (DNS, IP, BGP) - Trusted hardware (e.g., SGX, TPM, etc) - (Pseudo)randomness generation and attacks / failures - Post-quantum cryptography - Storage encryption - Anonymity, privacy-enhancing technologies - Cryptocurrencies (Bitcoin, Ethereum, zCash) The focus will be on understanding how protocols work, why they are secure, and existing attacks against implementations. The class will alternate lectures on foundations with student presentations. There will be a final project at the end of class. The class is independent from Prof. Lin’s 292F in Fall ‘16, with only a small overlap. 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. The hope is that this mix will be fruitful.