Covers advanced applications of cryptography, implementation of cryptographic primitives, and cryptanalysis. Topics may include: proof systems; zero knowledge; secret sharing; multiparty computation; fully homomorphic encryption; electronic voting; design of block ciphers and hash functions; elliptic-curve and lattice-based cryptosystems; and algorithms for collision-finding, discrete-log, and factoring. Assignments include a final group project. Topics may vary from year to year.