CSCE 557: INTRODUCTION TO CRYPTOGRAPHY Catalog Description: 557—Introduction to Cryptography. ={MATH 587} (3) (Prereq: CSCE 145, MATH 241 or 250, and either CSCE 355 or MATH 574) Design of secret codes for secure communication, including encryption and integrity verification; ciphers, cryptographic hashing, and public key cryptosystems such as RSA. Mathematical principles underlying encryption. Code-breaking techniques. Cryptographic protocols. Prerequisite(s) By Topic: Introduction to programming Discrete mathematics Vector calculus Textbook(s) and Other Required Material: Wade Trappe and Lawrence C. Washington, Introduction to Cryptography with Coding Theory, 2nd edition, Prentice Hall, Englewood Cliffs, NJ, 2005. Computing Platform: Windows XP, Unix Course Objectives: {Assessment Methods Shown in Braces} 1. Know the principles of cryptology and of cryptanalysis of historical ciphers {exams}. 2. Know and apply the theory and practice of modern cryptographic systems {exams, programming assignments}. 3. Know and apply the theory and practice of protocols (that will include cryptography) for secure electronic communication {exams, programming assignments}. 4. Be aware of the social, ethical, and political issues surrounding cryptography and its use in (especially electronic) communications. Topics Covered: 1. Mathematical preliminaries (8 hours) 2. Security uses of cryptography (3 hours) 3. Cryptanalysis of classical ciphers (3 hours) 4. Information theory; perfect secrecy; one-time pads (3 hours 5. Product cryptosystems and block ciphers (3 hours) 6. AES (Advanced Encryption Standard) – Rijndael (3 hours) 7. Public key encryption and RSA (6 hours) 8. Digital signatures (3 hours) 9. Authentication and key exchange (4 hours) 10. Advanced topics (3 hours) 11. Reviews and tests (3 hours) Laboratory Projects and Other Student Work Programming assignments, written assignments, and examinations. Difference between Undergraduate and Graduate Work To receive graduate credit, students must complete a major project in addition to the programming assignments. Syllabus Flexibility: High. The instructor chooses the textbook, language, and projects. 3 3 1 1 1 2 1 1 3 2 2 1 3 1 1 2 Estimated Computing Category Content (Semester hours): Area Core Advanced Area Algorithms 3 Data Structures Software Programming Design Languages Computer Architecture 1 Core Estimated Information Systems Category Content (Semester hours): Area Core Advanced Area Core Hardware and Networking and Software Telecommunications Modern Analysis Programming and Language Design Data Role of IS in an Management Organization Quantitative Information Systems Analysis 1 Environment Advanced Advanced 1 1 11. Electronics and Digital Sys Design 10. Application Area 5. Communicate Effectively 6. Liberal arts & Soc. Sciences 7. Basic Science and Lab Procedures 8. Learn New Tools & Processes 9. Employed upon Graduation 4. Work on teams 2. Computing Fundamentals 3. Apply Computing Principles Course Objectives 1. Historical cryptography 2. Modern cryptography 3. Protocols for secure communication 4. Social/ethical/political issues 1. Logic & Math Relationship of Course to Program Outcomes: The contribution of each course objective to meeting the program outcomes is indicated with the scale: 3 = major contributor, 2 = moderate contributor, 1 = minor contributor. Blank if not related. Program Outcomes Oral and Written Communication: None Social and Ethical Issues: Role of cryptology in society; security issues Theoretical Content: Mathematics fundamental to cryptology Analysis and Design: Cryptographic systems. Class/Laboratory Schedule: Lecture: 3 periods of 50 minutes or 2 periods of 75 minutes per week Course Coordinator: Duncan Buell Modification and Approval History: Initial description September 2002 Revised June 2005 by Duncan Buell to update text and clarify objectives and topics