MET CS 789 Cryptography

Prerequisites: MET CS 248 Discrete Mathematics and MET CS 566 Analysis of Algorithms. Or instructor’s consent.
Delivery: Boston-Charles River Campus, North Campus-Chelmsford
Program: MS CS elective, MS CIS elective, MS TC elective
Syllabus: CS789_B1_Fall 14

Course Overview: The course covers the main concepts and principles of cryptography with the main emphasis put on public key cryptography. It begins with the review of integers and a thorough coverage of the fundamentals of finite group theory followed by the RSA and ElGamal ciphers. Primitive roots in cyclic groups and the discrete log problem are discussed. Baby-step Giant-step and the Index Calculus probabilistic algorithms to compute discrete logs in cyclic groups are presented. Naor – Reingold and Blum – Blum – Shub Random Number Generators as well as Fermat, Euler and Miller-Rabin primality tests are thoroughly covered. Pollard’s Rho, Pollard’s  and Quadratic Sieve factorization algorithms are presented. The course ends with the coverage of some oblivious transfer protocols and zero-knowledge proofs. There are numerous programming assignments in the course.

This course serves a prerequisite to CS 799 Advanced Cryptography.