CS 319: Foundations of Cryptography