Math 295B/395A: Cryptography

Fall 2010


Course Info:



[PDF] Syllabus

We live an information age, with technology increasingly integrated into our daily lives. As a result, the security of our information is of the utmost concern, even as the interconnectedness of the Internet makes our data more vulnerable to attack. The ability to encrypt secrets and to conduct a trusted exchange of digital information, once a subject of interest primarily to governments and the military, is now a matter of necessity for us all.

At the end of the day, the foundation of modern cryptography relies upon the difficulty of solving certain mathematical problems; this course is intended to address them from both a mathematical and algorithmic point of view. We will cover some subset of the following topics: conventional encryption techniques, the Hill cipher, DES and SDES, RSA, the Rijndael cipher, discrete logarithms and the Diffie-Hellman key exchange, and elliptic curve cryptography.

All mathematical objects will be defined, so the prerequisites are minimal: Math 52 or 124, or permission should suffice. The course will be offered at a 295 level intended for undergraduates with a minimal background and at a 395 level for graduate students or others who are seeking a challenge. Computationally-minded individuals are especially welcome! The class will be driven by applications and examples.



Homework is due on Fridays. Be sure to show your work and explain how you got your answer. Correct but incomplete answers will only receive partial credit. Part of the beauty of mathematics is in the elegance of its proofs, and one goal of this course is for you to learn to write mathematics excellently.

Cooperation on homework is permitted (and encouraged), but if you work together, do not take any paper away with you---in other words, you can share your thoughts (say on a blackboard), but you have to walk away with only your understanding. In particular, you must write the solution up on your own.

Plagiarism, collusion, or other violations of the Code of Academic Integrity will be referred to the The Center for Student Ethics and Standards.

[PDF] Homework Submission Guidlines

[PDF] Homework #1 (due Friday, 3 Sep)

[PDF] Homework #2 (due Friday, 10 Sep)

[PDF] Homework #3 (due Friday, 17 Sep)

[PDF] Homework #4 (due Friday, 24 Sep)

[PDF] Homework #5 (due Friday, 1 Oct)

[PDF] Homework #6 (due Friday, 8 Oct)

[PDF] Homework #7 (due Friday, 15 Oct)

[PDF] Homework #8 (due Friday, 22 Oct)

[PDF] Homework #9 (due Friday, 29 Oct)

[PDF] Homework #10 (due Friday, 5 Nov)

[PDF] Homework #11 (due Friday, 12 Nov) (Updated 10 November 2010)

[PDF] Homework #12 (due Friday, 19 Nov)

[PDF] Homework #13 (due Friday, 3 Dec)


Computational Resources:

Certain problems will be computational in nature and the use of computer algebra packages is encouraged. Please print out and attach your work.

Sage is free software for algebra and number theory. See the download instructions to install it on your machine.

Alternatively, you can open a Sage worksheet by connecting to (link will only work on campus or on a machine with a VPN client installed); or just go to the Sage notebook, which is hosted by William Stein at the University of Washington.

Mathematica can be download and installed here.


Final Cipher Challenge:

There will be no exams in the course. In place of a final exam, there was a final cipher challenge.



There are additional resources on the 295 Fall 2008 website.

The Enigma simulator, at least for Windows.

An introduction to the Rijndael cipher, by Straubin; thanks to Cooper and Saeed for the link.


Introductory videos (password required):