This course is offered through Coursera — you can add it to your Accredible profile to organize your learning, find others learning the same thing and to showcase evidence of your learning on your CV with Accredible's export features.
Course Date: 15 September 2014 to 03 November 2014 (7 weeks)
This course will introduce you to the foundations of modern cryptography, with an eye toward practical applications.
Jonathan Katz is a Professor of Computer Science at the University of Maryland, and director of the Maryland Cybersecurity Center. He received his undergraduate degrees from MIT in 1996, and a PhD from Columbia University in 2002. He has held visiting appointments at UCLA (Los Angeles, CA), Ecole Normale Superieure (Paris, France), and IBM (Hawthorne, NY).
Prof. Katz's research interests lie broadly in the areas of cryptography, privacy, and computer and network security, with his most recent work focusing on secure multi-party computation, database privacy, and the science of cybersecurity. He has co-authored the popular undergraduate textbook "Introduction to Modern Cryptography" (CRC Press, 2007) and a monograph on digital signature schemes (Springer, 2010). He has previously given tutorials on cryptography for audiences in industry, academia, and government.
Historically, cryptography was used to ensure private communication between two people with some prior relationship. More recently, its scope has expanded to include things as diverse as data integrity, secure internet-wide communication, electronic cash, secure distributed computation, and more.
Cryptography has also become ubiquitous. Perhaps unknowingly, we have all encountered applications of cryptography in our daily lives---whether by logging in using a password, making a web purchase over a secure connection, or applying a software update that is digitally signed.
This course will introduce you to the foundations of modern cryptography, with an eye toward practical applications. We will learn the importance of carefully defining security; of relying on a set of well-studied “hardness assumptions” (e.g., the hardness of factoring large numbers); and of the possibility of proving security of complicated constructions based on low-level primitives. We will not only cover these ideas in theory, but will also explore their real-world impact. You will learn about cryptographic primitives in wide use today, and see how these can be combined to develop modern protocols for secure communication.
Introduction and Motivation
Classical Encryption Schemes
Principles of Modern Cryptography
Perfect Secrecy and Its Limitations
Pseudorandom Generators and Stream Ciphers
Pseudorandom Functions and Block Ciphers
Modes of Encryption
Security against Chosen-Ciphertext Attacks and Padding-Oracle Attacks