CS 655: ADVANCED CRYPTOGRAPHY

Class Program
Credits 3
Cryptography provides important tools for ensuring the privacy, authenticity, and integrity of the increasingly sensitive information involved in modern digital systems. Nowadays, cryptographic tools, including encryption, message authentication codes, digital signature, key agreement protocols, etc., are used behind millions of daily online transactions. In this course, we will unveil some of the “magic” of cryptography. Modern cryptography uses mathematical language to precisely pin down elusive security goals, design primitives and protocols to achieve these goals, and validate the security of designed primitives and protocols using mathematical proofs based on clearly stated hardness assumptions. Therefore, to learn cryptography, it is essential to understand its mathematical underpinnings. In this course, we will see the inner-workings of cryptography for several core cryptographic tools, from encryption, to message authentication, to hash functions, to digital signatures, etc.