Objectives: An introduction to classical and modern cryptography. Classical cryptography is the study of ciphers - methods to encrypt and the counter-methods to break the encryptions. Modern cryptography includes public-key cryptography, message authentication and signing, the theory of pseudo-randomness and one-way functions, the theory of zero-knowledge. Some information theory and advanced topics such as oblivious transfer, electronic cash, electronic voting, depending on time and interest.
Textbook:
Other Recommended Reading:
Grading: Midterm and final have greatest weight. Homework assignments. Some programming might be involved.
Prerequisites: Introductory programming and some discrete mathematics is required.