Cryptography

MET CS 698

Prerequisites: (MET CS 248 or MET LB 101 ) and MET CS 566. Or consent of instructor - Students explore the main concepts and principles of cryptography, with the main emphasis on public key cryptography. The course 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.

Note that this information may change at any time. Please visit the MyBU Student Portal for the most up-to-date course information.