Updates on the campus response to coronavirus (COVID-19)

ECE Course Syllabus

ECE6280 Course Syllabus


Cryptography and Security (3-0-3)

Technical Interest
Digital Signal Processing



Catalog Description
Algebraic and number theory approaches to cryptographic techniques, information security, secret key and public key encryption, signature schemes, hash functions, message authentication, and key distribution. Credit not allowed for both ECE 6280 and CS 6260.

Stinson, Cryptography (3rd edition), Chapman & Hall, 2005. ISBN 9781584885085 (required)

Indicators (SPIs)
SPIs are a subset of the abilities a student will be able to demonstrate upon successfully completing the course.

Topical Outline
* Overview of cryptography. 
* Simple classical cryptosystems
* Cryptanalysis

Complexity of Computations
* The big-O notation
* Time estimates
* P, NP, and NP-completeness

Shannons Theory
* Information theoretic security
* One time pad

Secret Key Encryption (Block Ciphers)
* Description of DES
* Description of AES (advanced encryption standard)

Brief Review of Algebra and Number Theory
* Groups, fields, Rings
* Euclidean algorithm for polynomials
* Chinese remainder theorem
* Other useful facts

RSA Cryptosystem and factoring Integers (Public Key Cryptosystem)
* RSA cryptosystem
* Implementing RSA
* Probabilistic primality testing
* Square root modulo n
* Factoring algorithms (Pollard P-1 alg., Polard Rho alg., Dixons random square alg., etc)
* Other attacks on RSA: Decryption exponent, Bit security, Timing attacks
* Rabin cryptosystem

Public Key Cryptosystems based on Discrete Logarithm Problem
* ElGamal cryptosystem
* Algorithms for discrete log (Shanks, Pollard Rho, Pohlig-Hellman, and Index Calculus methods)
* Elliptic curve cryptosystem (Abstract Discrete Log, Discrete Log Ciphers, Elliptic Curves)

Digital Signatures
* How to sign using RSA 
* ElGamal signature scheme 
* Digital Signature Standard (DSS)

* Collision-free hash functions, Motivation and applications, 
* Discrete-Log Hash function, 
* Merkle-Damgard and other constructions
* Message Authentication codes (keyed hash functions)

Key Distribution and Key Agreement (time permitting)
* Key predistribution
* Deffie-Hellman key exchange