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