Cryptography and Security
(3-0-0-3)
CMPE Degree: This course is Not Applicable for the CMPE degree.
EE Degree: This course is Not Applicable for the EE degree.
Lab Hours: 0 supervised lab hours and 0 unsupervised lab hours.
Technical Interest Group(s) / Course Type(s): Digital Signal Processing
Course Coordinator:
Prerequisites: None.
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.Textbook(s)
CryptographyCourse Outcomes
Not Applicable
Strategic Performance Indicators (SPIs)
Not Applicable
Topical Outline
Introduction
* 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)
Hashing
* 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