Description of course: Since the beginning of human communication, there has been a need to send secret messages. In the past, this was primarily reserved for securing trade secrets and sending tactical communiqués during war time. However, now that we are conducting the majority of our daily communications and transactions on-line, the security of our information is a matter of broader public concern. The ability to encrypt messages and to conduct a trusted exchange of digital information, once the primarly interest of governments and the military, is now a matter of necessity for everyone.
Essentially, the foundations of modern cryptography rely on the difficulty of solving certain math problems. In this course, we will address these from both a mathematical and algorithmic point of view. We will cover the following topics: conventional and historical encryption techniques and ciphers, the Hill cipher, DES and SDES, the Rijndael cipher/AES, RSA, discrete logarithm problem, Diffie-Hellman key exchange, and elliptic curve cryptography. Additional topics could include: homomorphic encryption, zero-knowledge proofs, and quantum cryptography.Expected background: The essential prerequisite is familiarity with abstract algebra and/or linear algebra and number theory, as well as a healthy mathematical and computational appetite. We will also be writing some simple computer programs in Python and Sage. Prerequisite courses at Dartmouth are Math 71, or Math 25 and 31, or Math 24 and 31, or instructor permission.
Work with anyone on solving your homework problems,Writing up the final draft is as important a process as figuring out the problems on scratch paper with your friends, see the guidelines below. If you work with people on a particular assignment, you must list your collaborators on the top of the first page. This makes the process fun, transparent, and honest. Mathematical writing is very idiosyncratic; if your proofs are copied, it is easy to tell. You will not learn (nor adhere to the Honor Principle) by copying solutions from others or from the internet.
X-hour: The X-hour will usually consist of office hours. On the occasional week, the X-hour will serve another purpose (e.g., extra or make-up lecture time) and I'll announce it in advance.
Homework: Weekly homework will be due via Canvas upload before the beginning of class on Friday. Each assignment will be posted on the syllabus page the week before it's due.
You might consider taking the opportunity to learn LaTeX. Otherwise, you can write out your solutions, neatly and straight across the page, on clean paper, with nice margins, scan them, and upload them.
Reading responses: Cryptography has many historical and ethical dimensions that are important to consider alongside the abstract theory and practical implementations. Accordingly, there will be reading assigned, about one chapter per week, from the popular science book The Code Book by Simon Singh, with a reading response of 200-250 words due Monday following each chapter.
Exams: There will be a take home cipher challenge at the end of the course.
Homework guidelines: Generally, a homework problem in any math course will consist of two parts: the creative part and the write-up.