Course Objectives: This course will help students understand and model information security in the modern world. It covers various definitional basics of cryptography, models of trust, adversaries, etc. helping students reason concretely about real-world problems.
Pre-requisites: Data Structures and Algorithms, Probability and Statistics
Coverage: Introduction to security. Trust vs verifiability. Adversarial threat models. Notions of secrecy, privacy, and security. Basics of cryptography - symmetric and public key encryption, authentication,
hash functions, digital signatures, certificates, cryptographic protocols, and applications. Cryptographic security definitions. Models of authentication and authorisation; biometrics; identity. Issues with verification of hardware and software integrity; the frameworks of formal verification and model checking. Trust assumptions, distributing trust with secure multiparty computations, hardware trust models, trusted
computing environments and remote attestation. Elements of OS and Network security.