CSC 414 - Foundations of Cryptography

Catalog Description:
Cryptography is the study of mathematical techniques for securing digital information, systems and distributed computation against adversarial attacks. In this class you will learn the concepts and the algorithms behind the most used cryptographic protocols: you will learn how to formally define security properties and how to formally prove/disprove that a cryptographic protocol achieves a certain security property. You will also discover that cryptography has a much broader range of applications. It solves absolutely paradoxical problems such as proving knowledge of a secret without ever revealing the secret (zero-knowledge proof), or computing the output of a function without ever knowing the input of the function (secure computation). Finally, we will look closely at one of the recent popular application of cryptography: the blockchain technology. Additionally, graduate students will study some of the topics in greater depth.
Contact Hours: Prerequisites: (CSC226 AND CSC333) OR MA225
Co-requisites: None
Restrictions: None
Coordinator: Dr. Alessandra Scafuro
Textbook: Intro to Modern Cryptography

Course Outcomes:
 Upon completion of this course, students will be able to:

  1. Explain and motivate the formal definition of the most common cryptographic goals (such as data confidentiality and integrity).
  2. Formally prove/disprove security of a cryptographic scheme (such as encryption scheme, digital signatures).
  3. Identify the cryptographic tools needed in real world protocols (such as Bitcoin).
  4. Explain and motivate more advanced cryptographic goals (such as zero-knowledge, secure two-party computation).


Topics:

See Course Listings

See Course Coordinators