CS 266 Network Security and Cryptography Syllabus Sketch for Fall 2022 === Instructor: Dr. Jeremiah Onaolapo Mode of Instruction: In-person Prereq: CS 124. This course assumes proficiency in the Python programming language. Note: The final version of the CS 266 syllabus (to be posted later) may differ from this tentative version. COURSE DESCRIPTION --- Network security and cryptography comprise two of the many interconnected components of cybersecurity. The first part of this course explores threats to network security. It studies attack techniques and defense mechanisms, among other topics. The second part of this course focuses on cryptography. It explores various building blocks of historical and modern cryptosystems, and their applications. Assessment: In-class exercises and group work, and homework assignments. Homework assignments will involve a mix of programming work (in Python) and written work. There will be no exams for this course. COURSE OBJECTIVES: --- After completing CS 266 Network Security and Cryptography, students will be able to: 1. Identify common misconceptions about network security. 2. Analyze various system-level threats to networked systems. 3. Compare historical and modern cryptographic schemes. 4. Evaluate various building blocks of modern cryptographic schemes. REQUIRED READING: --- 1. Easttom, Chuck. Computer Security Fundamentals. Pearson Education, 2020. 2. Smart, Nigel P. Cryptography Made Simple. Springer, 2016. 3. Selected scientific and technical articles (to be announced later). PART I TOPICS (TENTATIVE): --- * Introduction/networks and the Internet * Threats to network security (incl. critical infrastructure) * Attack techniques (incl. malware) * Security policies * Defense mechanisms PART II TOPICS (TENTATIVE): --- * Historical ciphers * Modular arithmetic, groups, and fields * Prime numbers * Factoring operations * Stream ciphers * Block ciphers * Hash functions and message authentication codes * Public key encryption algorithms * Signature schemes * Certificates and public key infrastructure GRADING: --- 5 homework assignments 150 points (30 points each) 10 in-class exercises 100 points (10 points each) --------------------------------------------------------------------- Total 250 points --------------------------------------------------------------------- The minimum passing grade is 60%. EXAMS: --- There will be no exams for this course. There is no final exam. FAQs: --- Q1: Will this course teach me about cryptocurrencies (e.g., Bitcoin)? A1: No. Q2: Any hands-on lab sessions? A2: No. That said, there will be a handful of live demonstrations by the instructor. Q3: Will this course instantly transform me into a hacker? A3: No.