Applied Cryptography

Course Number: 18-733

Department: Electrical and Computer Engineering

Location: Pittsburgh

Units: 12

Semester Offered: Spring

A wide array of communication and data protections employ cryptographic mechanisms. This course explores modern cryptographic techniques in some detail. The course emphasizes how cryptographic mechanisms can be effectively used within larger security systems, and the dramatic ways in which cryptographic mechanisms can fail. Topics covered include cryptographic primitives such as symmetric encryption, public key encryption, digital signatures, message authentication codes, hash functions, commitments, and pseudo-random number generators. The course also covers cryptographic protocols, such as key exchange, remote user authentication, and interactive proof systems; threshold cryptography, oblivious transfers and secure multi-party computations; perfectly secure encryption and universal hash functions. The course also covers a variety of special applications including computing on encrypted data. 


Class format

Lecture and project-based 

Home department


Target audience

ECE MS/Ph.D. students.

Background required

Senior or graduate standing required. Prerequisites include 18-330 or 18-631 or 18-730 or 14-741.

Learning objectives

Provide the students with an understanding of:

  • Basic principles of modern cryptography.
  • Precise security definitions for cryptographic primitives and adversary models.
  • Correct use of cryptographic primitives in practice.
  • Role of cryptography within the IT security area.

Faculty and instructors who have taught this course in the past

Anupam Datta, Virgil Gligor