everything.study
CMSC 28400

Introduction to Cryptography

Undergraduate / Graduate

Cryptography is the use of algorithms to protect information from adversaries. Though its origins are ancient, cryptography now underlies everyday technologies including the Internet, wifi, cell phones, payment systems, and more. This course is an introduction to the design and analysis of cryptography, primarily from a theoretical perspective. It will cover how cryptography works, how security goals are formalized and analyzed theoretically, and the relationships between various cryptographic tasks. Topics will include symmetric encryption (aka: secret-key encryption), pseudorandomness, message authentication codes, collision-resistant hashing, asymmetric encryption (aka: public-key encryption), and digital signatures. We assume some background in discrete mathematics (e.g., the basics of discrete probability, counting, and modular arithmetic) and algorithms (e.g., big-O notation). We do not assume any prior knowledge of computer security, cryptography, or advanced mathematics. Problem sets will include writing proofs and will require applying the (many) new definitions and techniques that will be introduced over the course of the quarter. There may be a small number of assignments with a programming component.

Sources