Introduction to Cryptography -- MATH/CMSC 456

Spring 2019


Course Overview

This course is an undergraduate introduction to cryptography, whose aim is to present the theoretical foundations of cryptosystems used in the real world. This course complements Computer and Network Security (CMSC 414), whose coverage of cryptography focuses more on its applications; in this class, we will look "under the hood" to get a better understanding of various cryptographic primitives, algorithms, attacks, and protocols. The course will be similar, though not identical, to my previous offering of this course.

The required textbook for this course is Introduction to Modern Cryptography, 2nd edition. The second edition of the book is required, and students are strongly advised to obtain a physical copy of the book since exams will be "open book" with no electronic devices permitted. Note also that illegal copies of the book available online often do not match the printed edition (especially when it comes to the exercices); the professor will not be responsible for any deviations in content.

This course has a significant mathematical component. No advanced mathematics background is assumed, but students are expected to have "mathematical maturity" since many of the concepts will be abstract, rigorous definitions and proofs will be given, and some new mathematics (e.g., group theory, number theory) will be introduced. Basic background in discrete mathematics (probability, modular arithmetic) is assumed.

Moreover, the homeworks in this course will require programming. The choice of language is flexible, but C/C++/java or python are recommended. Some homeworks will have a networking component with the networking code provided for you in a particular language. It is assumed you can pick up what is needed in order to complete the assignments. Basic background in algorithms (big-O notation and worst-case analysis, reading pseudocode) is assumed.

This course will follow all applicable UMD policies and procedures.

Lecture Schedule

After each lecture, I will post a (brief) summary of what we cover, and provide references to relevant sections of the book, here.

Announcements

Staff

General Information

Web Accessibility