CS 378 Introduction to Cryptology
Final Exam Topics Review
Instructor: Yang Xiao
University of Kentucky
Tue 4/28/2026
1
Final Exam Format
▪ Time
− 2 hours
▪ Problems
− 8 problems: 100 pts (multiple choice, short answer, calculation)
− 1 bonus problem: 10 pts
▪ Exam Requirement
− Close book/note/calculator
− 2-sided cheat sheet x2
2
Topics 1-6: Same with midterm
▪ The first 4 problems will be very similar to selected midterm exam
problems!
3
Topic 7: Modern Block Cipher – AES
(LN #9)
▪ AES Design
− AES key sizes vs block size
− AES cipher layers: ByteSub (BS), ShiftRow (SR), MixColumn (MC),
AddRoundKey (ARK)—their general idea and order in a round
− How the decryption can use the same encryption circuit by adopting several
transformations
▪ 𝐺𝐹(2𝑘 ) Arithmetic
− Addition and multiplication in 𝐺𝐹(2𝑘 ) modulo an irreducible polynomial
4
Topic 8: PKC & RSA
(LN #10)
▪ Public-Key Cryptology (PKC) Basic Concepts
− Private key and public key: which is used for encryption, which for decryption
− Difference from symmetric-key cryptosystem
▪ RSA Algorithm
− Math of RSA: setup, encryption, decryption
− Public key: (𝑛, 𝑒), private key 𝑑
− Requirement for parameters in setup: n, p, q, e, d, Φ(𝑛)
− RSA toy examples when given (𝑛, 𝑒) and a plaintext 𝑚
5
(cont.)
▪ Security of RSA
− Assumption: hardness of factoring 𝑛 (what would happen if you can factor 𝑛)
− Methods of factoring in practice: brute force, Fermat’s method, Pollard’s
method, and their implications for choosing RSA parameters
− Attacks (non-factoring) on RSA:
• low exponent attack
• short plaintext attack
• timing attack
− Finding large primes: Fermat’s primality test
6
Topic 9: Cryptosystems based on DLP
(LN #11)
▪ Discrete Logarithm Problem (DLP)
− Definition: find 𝑥 s.t. 𝑎 𝑥 ≡ 𝑏 mod 𝑝 → smallest non-negative such 𝑥: 𝐿𝑎 (𝑏)
− General belief on the hardness of this problem
− When 𝑎 is a primitive root mod 𝑝, existence of 𝐿𝑎 (𝑏) for all 𝑏 ∈ 𝐙𝑝∗
− Compute 𝐿𝑎 (𝑏) when you are given 𝐿𝑎 𝑏1 , 𝐿𝑎 𝑏2 , …
▪ Solving DLP in Practice (Computing D.L.)
− Finding out if 𝑥 is even or odd
− Pohlig-Hellman Algorithm – idea only
− The Baby Step, Giant Step algorithm – how it works and examples
7
(cont.)
▪ Diffie-Hellman Key Exchange (DHKE)
− Math:
• Alice and Bob pick public parameters: large prime 𝑝 and its primitive root 𝛼
• The exchange process, and how the key 𝐾 is obtained
− Relationship between Computational Diffie-Hellman Problem (CDHP) and DLP
− Considerations for DHKE
• #1: If 𝑝 − 1 has a prime factorization, how can we pick a primate root 𝛼 fast
• #2: How to generate 𝑝 so that 𝑝 − 1 can be factored fast?
8
(cont.)
▪ ElGamal Public Key Cryptosystem – concepts only
− For encryption/decryption
− General workflow, public key and private key: difference from RSA
9
Topic 10: Cryptographic Hash Function (CHF)
(LN #12)
▪ CHF Basic Concepts
− One-way function
− collision resistance
− second-preimage resistance
− randomness (optional)
▪ Birthday Attacks
− Computing the probability that a group of 𝑁 people contains two with the
same birthday
− How are birthday attacks relevant to CHF security
10
Topic 11: Digital Signatures
(LN #13)
▪ Digital Signature Basic Concepts
− How are private key and public key used for signing and verification, how it
differs from public-key encryption
− Security property of signature 𝜎(𝑚, 𝐾1 ): cannot be transferred to another
message; must be verifiable
▪ RSA Signature
− How are RSA private key and public key used, and its difference from RSA
encryption/decryption
11
Topic 12: Secret Sharing
(LN #14)
▪ Shamir’s Secret Sharing
− The (𝑡, 𝑛)-scheme: what are the shares, and how to compute Lagrange
interpolation to reconstruct the original security
12
Last hint
▪ Go over all homework problems and solutions
▪ Good luck:)
13