CS 3660 Network Security and Cryptography Syllabus Sketch for Spring 2024 === Instructor: Dr. Jeremiah Onaolapo Mode of Instruction: In-person Prereq: CS 2240. This course assumes proficiency in the Python programming language. Class Times: Tuesdays and Thursdays, 1:15pm--2:30pm Note: The final version of the CS 3660 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 thread of this course explores threats to network security, with emphasis on attack techniques and defense mechanisms. The second thread focuses on cryptography. It explores the internal workings of various building blocks of historical and modern cryptosystems, with emphasis on the mathematical mechanisms that power them. Both threads will run concurrently in this course. Homework assignments will involve a mix of programming work (in Python) and written work. Students should expect to spend 6-8 hours per week on coursework outside of class. There will be no exams for this course. Prerequisites/Corequisites: CS 2240. This course assumes familiarity with the Python programming language and command-line operations. COURSE OBJECTIVES: --- After completing CS 3660 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 * Dissecting network packets in code * 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 Note: Parts I and II will run concurrently. GRADING: --- 5 homework assignments 200 points (40 points each) 5 in-class exercises 40 points (8 points each) Attendance 10 points -------------------------------------------------------------------- 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 (e.g., to illustrate the use of packet sniffing tools). Q3: Will this course instantly transform me into a hacker? A3: No. [NB: Last updated Oct. 27, 2023]