Clark School Home UMD

ENEE456 Cryptography

Course Description: 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-cibpher design and analysis, number theory, and digital signatures.

Prerequisite(s): CMSC106, CMSC131, OR ENEE150; two (2) courses from: CMSC330, CMSC351, ENEE324, and/or ENEE380, OR two 400-level MATH courses.

Corequisite(s): None

Restrictions: Credit only granted for MATH456, CMSC456, or ENEE456.

Course 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