CS 255: Introduction to Cryptography — Stanford Root