ICS 268: Cryptography and Computer Security Instructor: Gene Tsudik Catalog Description Overview of modern cryptography; security threats and countermeasures; secret and public key cryptography; digital signatures and non-repudiation; cryptographic strength; block ciphers and stream ciphers; Computer and network security; data privacy and data integrity; authentication and identification; freshness and timeliness; hostile traffic analysis; protection from viruses and worms; Prerequisites: This course is intended for graduate students. All students must have some basic knowledge of number theory. Understanding of probability concepts is strongly recommended. Highly qualified undergraduates may be admitted with permission of instructor. * graduate students; at least one of: ICS 260, 261, 262, 263 * undergraduate students; both of: ICS 161 and 162 Abstract This course introduces basic concepts in cryptography and computer security and discusses both their theoretical foundations and practical applications. Various threats, attacks and countermeasures including cryptosystems, cryptographic protocols and secure systems/networks will be addressed. The course will cover: brief history of cryptography, encryption (conventional and public key), digital signatures, hash functions, message authentication codes, randomness, unconditional and computational security, zero-knowledge protocols, secure e-commerce, group communication security, anonymity, key escrow. A few popular security mechanisms (e.g., Secure IP, SSL, PGP) will also be discussed. Textbooks: * REQUIRED: Cryptography: Theory and Practice, by D. Stinson. * SUPPLEMENTAL: Cryptography and Network Security: Principles and Practice, 2nd Edition, by William Stallings * Additional readings from recent research literature may be distributed in class. Instruction and Grading * 2 Homeworks 20% each * Final 30% * Project 30% Topic Outline (by week, tentative): 1. Introduction: History, Terminology, Threats and Attacks Information Theory + Probability 2. Block ciphers, DES: history, design, modes of operation Number Theory concepts 3. Public Key Cryptography: Merkle, Diffie-Hellman, RSA Public Key Cryptography: Rabin, El Gamal, Knapsack 4. PK Digital Signatures: RSA, DSA Cryptographic Hash functions: MD5, SHA 5. One-Times Signatures Key Management: Establishment/Distribution/Agreement 6. Trusted Third Parties: Kerberos, etc. Certification and Revocation: CAs, CRLs, etc. 7. Identification/Authentication schemes: Schnorr, Okamoto Guillou-Quisquater Scheme, Secret Sharing and PRNGs 8. Program Security: Viruses, worms, trojan horses, etc. Countermeasures and counterattacks. 9. Internet Cryptography: IPSEC, ISA-KMP, DNSSEC Internet Cryptography: PGP, SSL, SET 10. Advanced Topics and Review