Electrical Engineering and Computer Science

EECS 4980 - Inside Cryptography Course Syllabus

Credits/Contact Hours
3 credit hours & 150 minutes classroom contact per week.
Instructor's Name
Dr. Lawrence G. Thomas
Textbook
Stallings, William, "Cryptography and Network Security: Principles and Practice", 7th ed., Pearson Higher Education, 2016
Course Information
This course provides insight into the inner workings of several cryptographic algorithms, including the discrete math behind them. Symmetric algorithms include DES and AES; Asymmetric algorithms include Merkle-Hellman and RSA. Block and stream modes are explored, as are cryptographic hash functions.
Prerequisites: EECS 2520 and EECS 3100 and Consent of the Instructor
Elective course.
Specific Goals - Student Learning Objectives (SLOs)
Upon successful completion of the course. students will be able to:
1. Differentiate symmetric and asymmetric encryption systems and their applications.
2. Understand the components of modern encryption systems, including substitution and permutation.
3. Understand the differences between the usage of block modes (ECB and CBC) and stream modes of encryption algorithms.
4. Understand the underlying mathematics that drives AES - The Galois Field GF(28).
5. Understand the underlying mathematics that drives RSA - Prime numbers, (n), (n), and factoring.
6. Understand the properties of discrete math in a mod n environment, including inverses and identities, the Euclidean Algorithm, and the Extended Euclidean Algorithm, reducibility, and methods for fast exponentiation.
7. Be able to code low-level operations in a high-level language for efficient operation.
Topics
1. Classical Encrytption:
a. Monoalphabetic Ciphers
b. Polyalphabetic Ciphers
c. Playfair Ciphers
d. One-Time Pads
e. Vigenere Cipher
f. Hill Cipher
g. Letter-frequency, di-gram and tri-gram analysis
2. Steganography
3. Number Theory:
a. Prime numbers: π(n), Φ(n), factoring, time required to
factor, testing primality
b. The Euclidean Algorithm for finding GCD and the
Extended Euclidean Algorithm
c. Modular Arithmetic: Reducibility, inverses and identities,
Chinese Remainder Theorem
d. Galois Fields (GF(28), in particular)
4. DES: History
a. Components: Split / Join / Rotate /
Permutation (Three kinds) / Substitution / XOR
b. Feistel Designs in general
c. DES internal operation in detail
5. AES: History
a. Components
b. Key schedule for 128, 192, and 256-bit keys
6. RSA: Merkle-Hellman Knapsacks
Using prime numbers to implement RSA
7. Block Ciphers and modes (ECB, CBC, Stream modes)
8. Hash functions:
a. SHA-512 and MD5
b. Collisions, pre-images, and the Birthday Paradox

Last Updated: 6/27/22