CSCE 212 - Computer Science & Engineering

advertisement
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
Download