This class exposes students to the fundamental concepts of cryptography, network security, and computer security. The growing importance of networks and distributed systems, and their use to support safety-critical applications, has made information security a central issue for systems today. The class centers on two main parts: security foundations (which includes security terminology, core cryptograhic principles, and secure protocols) and applied security (which discusses network security, computer security, software security, and web security). Students learn to critically assess the security properties of a system and make informed decisions about implementing secure processes. Most classes feature in-class labs where students are asked to implement a cryptographic primitive or secure protocol, or attack a vulnerable system.
Supplemental reading - Additional handouts will be provided as needed, e.g.: