Generated on Tue Oct 25 10:19:18 2022

CS 380: Introduction to Cryptography (JSON)

Catalog description: The course covers basic cryptographic primitives, such as symmetric, public-key ciphers, digital signature schemes, and hash functions, and their mathematical underpinnings. Course helps students understand basic notions of security in a cryptographic sense: chosen plaintext and chosen ciphertext attacks, games, and reductions. Course also covers computational number theory relevant to cryptography. Consent of Instructor required.

Prerequisites: At least a C- in C S 272, C S 273.    (Catalog Link)

Credits: 3 (3)

Coordinator: Roopa Vishwanathan

Textbook: Jonathan Katz and Yehuda Lindell. Introduction to Modern Cryptography
    (also: Bellare-Rogaway lecture notes, Goldwasser-Bellare lecture notes, both freely available online)

BS degree role: selected elective

Course Learning Objectives

  1. Explain basic cryptographic primitives, including symmetric ciphers, asymmetric ciphers, digital signatures, message authentication codes, and hash functions
  2. Be able to reason about the security of crypto primitives: specifically, indistinguishability (IND) properties of ciphertexts, CPA/CCA games, and reductions to fundamental math assumptions
  3. Understand computational number theory and algebra underpinning the design of cryptographic primitives, in depth

Course Practicum Requirements

  1. None

Course Topics

  1. Symmetric/asymmetric ciphers
  2. Hash functions
  3. Digital signatures
  4. MACs
  5. Computational number theory

Course Improvement Decisions

(Course improvement decisions or recommendations from past assessments)

  1. none

ABET Outcome Coverage

(Provide Mapping to ABET Student Outcomes)

  1. TBD

Other Notes

(Any important notes or issues to consider)

  1. none