Prerequisites: | Calculus, linear algebra, and not much else. |
Instructor: | Victor Reiner (You can call me "Vic"). |
Office: Vincent Hall 256 Telephone (with voice mail): 625-6682 E-mail: reiner@math.umn.edu |
|
Classes: |
Monday, Wednesday 3:35-5:00pm in Vincent Hall 6 |
Office hours: | Monday 2:30pm and Tuesday 10:10am, or by appointment. |
Course content: |
This is an introductory course in cryptology, that is, the subject of
how to make ciphers (cryptography) and break them (cryptanalysis). The math
used is heavy on modular arithmetic, which will be covered in some depth.
It also makes some use of elementary counting and probability, plus a tiny bit
of linear algebra and matrices. It is not intended as a substitute for
a serious abstract algebra or number theory course.
The topics covered will be similar to when the course has been taught in the past by Prof. Paul Garrett (the author of our text; see his crypto page ) and last Fall when I was one of three people teaching it (see my old syllabus ). However, there will be some significant differences in the approach taken this time around, regarding the
|
Text: |
We will be working from a specially photocopied and recently revised version
of the previous text for the course:
Making, breaking codes: An introduction to cryptology by Paul Garrett, Prentice Hall. These notes are available at the bookstore, in the usual area for math course texts. If you insist on buying one of the previous editions of the book, you may be annoyed that the chapter/section orders have changed a bit, and that you'll be missing a tiny amount of the material we use. But it won't be fatal. At least try to get the 2nd printing, which corrected some minor errors. Errata found after 1st printing Errata found after 2nd printing |
For historical background:  |
The code book by Simon Singh The code breakers by David Kahn |
Homework and exams: | There will be homework assignments due every other week,
except for
Late homework will not be accepted. Early homework is fine, and can be left in my mailbox in the School of Math mailroom near Vincent Hall 105. Collaboration is encouraged as long as everyone collaborating understands thoroughly the solution, and you write up the solution in your own words, along with a note at the top of the homework indicating with whom you've collaborated. Homework solutions should be well-explained-- the grader has been told not to give credit for an unsupported answer. |
Grading: |
Homework = 50% of grade Each of 2 midterms = 15% of grade Final exam 20% of grade. Complaints about the grading should be brought to me. |
Some software: | Some
Mathematica code
for doing Vigenere encryption and the Friedman attack on it. The example of this that was shown in lecture on Sept. 26, 2005. |
Policy on incompletes: | Incompletes will be given only in exceptional circumstances, where the student has completed almost the entire course with a passing grade, but something unexpected happens to prevent completion of the course. Incompletes will never be made up by taking the course again later. You must talk to me before the final exam if you think an incomplete may be warranted. |
Other expectations | This is a 4-credit course, so I would guess that the average student should spend about 8 hours per week outside of class to get a decent grade. Part of this time each week would be well-spent making a first pass through the material in the book that we anticipate to cover in class that week, so that you can bring your questions/confusions to class and ask about them. |
Assignment or Exam | Due date | Problems |
---|---|---|
Homework 1 | Wed Sept. 21 |
1.1 Shift cipher: 05, 13, 15 1.2 Reduction/division algorithm: 05, 10, 12, 15 1.3 One-time pad: 03 1.5 Multiplicative inverses: 07, 10 1.6 The integers mod m: 11, 16, 20, 21 6.2 Euclidean algorithm: 01, 06, 08 6.3 Computing inverses: 08 |
Homework 2 | Wed Oct. 5 |
1.7 The affine cipher: 07, 11, 14 3.2 Anagrams- transposition: 07, 09 4.2 LCM's and GCD's: 04, 05 4.1 The Vigenere cipher: 01, 06, 05, 07, 09 4.4 Expected values: 01 4.5 Friedman attack: 02 5.3 Advanced encryption standard: 01 (not to be graded, but to think about) |
Midterm exam 1 | Wed. Oct. 12 | Take-home exam in PDF, PostScript, |
Homework 3 | Wed Oct. 26 |
7.2 RSA cipher: 01, 04 7.3 Primitive roots, discrete logs: 04, 09, 13 7.5 ElGamal cipher: 01, 02, 03 9.1 Fermat's little theorem: 03, 05, 07 9.5 Exponentiation algorithm: 03, 05 23.1 Groups: 04, 07 23.2 Subgroups: 02, 05, 07 23.3 Lagrange's Theorem: 02 23.6 Finite cyclic groups: 04 |
Homework 4 | Wed Nov. 9 |
10.7 Facts about primitive roots: 01, 02 15.5 Primitive roots mod p: 04 10.1 Sun Ze's theorem: 01, 02 10.2 Special systems: 01, 07 10.3 Composite moduli: 02, 03 9.6 Square roots mod p: 03, 05 10.8 Euler's criterion: 01, 02, 03 (Removed, for inclusion on Exam 2 -- 10.4 Hensel's lemma) |
Midterm exam 2 | Wed. Nov. 16 | Take-home exam in PDF, PostScript, |
Homework 5 | Wed Dec. 7 |
13.1 Fermat pseudoprimes: 01, 08 13.6 Miller-Rabin test: 01, 08 12.5 Fast computation of quadratic symbols: 01, 03, 05, 07, 08, 11, 12 18.1 Pollard's rho method: 01 18.2 Pollard's p-1 method: 02 |
Final exam | Wed. Dec. 14 | Take-home final exam in PDF, PostScript. |