Syllabus: Cryptology and Number Theory
Instructor: Ian Whitehead, iwhitehe@umn.edu
Meeting Time and Place: Tuesday/Thursday, 2:30 pm - 3:45 pm, 113 Vincent Hall
Office Hours: Monday 11-12:30, Thursday 3:45-4:45, 204 Vincent Hall
Website: math.umn.edu/~iwhitehe/crypto.html
Course Description: This is a course on codes, past and present, and the mathematics underlying them. Topics will include historic ciphers, the RSA cipher, the ElGamal cipher, and codes based on lattices. To describe these codes, we will study elementary number theory, modular arithmetic, and techniques in linear algebra. Cryptographers must understand not only how algorithms work mathematically, but also how fast they work in practice. When studying complicated protocols, they must keep careful track of who knows what and when. For mathematics majors, this kind of problemsolving will be a refreshing change of pace. You could view the mathematics in this course as a necessary precursor to the cryptography, or you could view the cryptography as an excuse to learn the mathematics. I hope the course will work either way.
Texts: Cryptology and Number Theory by Paul Garrett, available at Alpha Print in Dinkytown. Used copies from previous years, produced by Alpha Print, are fine to use, but the first edition, printed by the publisher, has substantial differences, and would not suffice. For the last section of the course, we will use Oded Regev's course notes on lattices.
You might also find useful three textbooks that are available freely (and legally) online, Victor Shoup's
A Computational Introduction to Number Theory and Algebra , William Stein's Elementary Number
Theory: Primes, Congruences, and Secrets , and Henk van Tilborg's Fundamentals of Cryptology . For popular historical accounts of cryptology, highly recommended sources are Simon Singh, The Code
Book and (for much more detail) David Kahn, The Codebreakers .
Assignments: There will be weekly homework assignments posted on the course website. These are due in class on Tuesdays or in my mailbox on the first floor of Vincent Hall before class. Late homeworks will not be accepted except in special circumstances, with advance permission. You are allowed to collaborate on homework, but you must write the solutions individually, in your own words.
Project: An independent research project is required for this course. This could take the form of programming one of the algorithms we have studied, writing a paper, or proving a theorem. You will work in groups of 2 to 5. A list of recommended projects will be provided. Each group should select a project topic and meet with me to discuss it before March 4. I am happy to review drafts and work in progress. Projects are due, either handed in or presented to me, on April 28.
Exams: There will be three in-class exams on February 23, April 5, and May 5. You may use a calculator and one 8.5” by 11” page of notes, but no other notes, books, or computers, and you must do all the work yourself. Each exam will be preceded by an in-class review session organized around students' questions.
Grading: The grading breakdown will be: 50% exams, 25% project, and 25% homework. For the homework grade, the lowest score will be dropped.
Schedule:
(suggested readings in the textbook follow each topic)
1/19: What is Cryptography? (Introduction)
1/21: Basic Modular Arithmetic (1.2, 1.4, 1.5, 1.6)
1/26: [HW 1 Due] Substitution Ciphers, The Affine Cipher (1.7, 2.3, 2.4)
1/28: The Euclidean Algorithm and Multiplicative Inverses Mod m (6.2, 6.3)
2/2: [HW 2 Due] The Vigenere Cipher (4.1, 4.5)
2/4: The Enigma Cipher (handout)
2/9: [HW 3 Due] Exponents Mod m, Fermat's Little Theorem (9.1, 9.2, 9.3, 9.5)
2/11: The Hill Cipher (6.1, 6.2, 6.3, 6.4)
2/16: [HW 4 Due] Euler's Theorem and Sun Ze's Theorem, (10.1, 10.2, 10.3, 10.6)
2/18: Review
2/23: Exam I
2/25: The RSA cipher (7.1, 7.2)
3/1: [HW 5 Due] The Security of RSA (7.2)
3/3: [Project Meetings] Discrete Logarithms, Diffie-Hellman (7.3, 7.4)
3/8: [HW 6 Due] El Gamal (7.5)
3/10: Primitive Element Theorem, Roots Mod p (9.6, 9.7, 10.7) week of 3/14: spring break
3/22: [HW 7 Due] Square Roots Mod p and Mod m (9.6, 10.8, 12.1)
3/24: Primality Tests (13.1, 13.2, 13.5, 13.6, 17.1, 17.2)
3/29: ]{HW 8 Due] Quadratic Reciprocity (12.1, 12.2, 12.3, 12.4, 12.5)
3/31: Review
4/5: Exam II
4/7: Lattice Basics (Regev: Introduction)
4/12: [HW 9 Due] Proof of Quadratic Reciprocity, Shortest Vector Problem (Regev: Introduction)
4/14: Minkowski's Theorem and Applications (Regev: Introduction)
4/19: [HW 10 Due] Gauss's Algorithm (Regev: The LLL Algorithm)
4/21: The LLL Algorithm (Regev: The LLL Algorithm)
4/26: [HW 11 Due] Coppersmith's Method (Regev: Attacks on Low Public Exponent RSA)
4/28: [Projects Due] Lattice-Based Cryptography
5/3: [HW 12 Due] Review
5/5: Exam III