Credits: 3


Prerequisite: (CMSC106, CMSC131, or ENEE150; or equivalent programming experience); and (2 courses from (CMSC330, CMSC351, ENEE324, or ENEE380); or any one of these courses and a 400-level MATH course, or two 400-level MATH courses); and Permission of CMNS-Mathematics department or permission of instructor .
Cross-listed with: MATH456, CMSC456.
Credit only granted for: MATH456, CMSC456 or ENEE456.
The theory, application, and implementation of mathematical techniques used to secure modern communications. Topics include symmetric and public-key encryption, message integrity, hash functions, block-cipher design and analysis, number theory, and digital signatures.

Semesters Offered

Spring 2019, Fall 2019, Spring 2020, Fall 2020, Spring 2021, Fall 2021, Spring 2022, Spring 2023, Spring 2024

Learning Objectives

  • Understand the theoretical foundations for real-world cryptosystems
  • Study formal security models for widely used cryptographic applications
  • Analyze various cryptographic schemes and understand their proofs of security
  • Become familiar with number theoretic tools used in cryptography

Topics Covered

  • Classical ciphers, Shannon perfect security and impossibility results
  • Computational security
  • Symmetric-key encryption
  • Pseudorandom generators
  • Pseudorandom functions, pseudorandom permutations, Feistel transform
  • Stream ciphers, block ciphers, modes of operation
  • MACs, Authenticated Encryption
  • Number theory background
  • Collision resistant hash functions
  • Public Key Encryption
  • Digital Signature Schemes
  • Additional advanced topics as time permits