Math 5405, Cryptography and Codes
University of Utah, Spring 2019

Anurag K. Singh


Class: Tuesday, Thursday, 12:25-1:45, LCB 222

Office: LCB 124, (801) 581-8647

E-mail: singh at

Office Hours: Monday 11:00-12:00, and by appointment.

Text: Numbers, Groups and Cryptography by Gordan Savin, and the optional text: Introduction to Cryptography with Coding Theory, by Trappe and Washington, 2nd Edition, ISBN 0131862391. (An earlier edition of this would suffice as well.)

Prerequisites: A grade of C or better in Math 4400.

Goals and objectives: Classical and modern methods of encryption, applications to public-key ciphers, primality testing, factorization attacks, elliptic curves and factoring using elliptic curves, error correcting codes, computational number theory.

Homework: Homework will be assigned and collected roughly every two weeks. Students may discuss the problems with others, but it is important to write up one's own solutions.

Exams: There will be an in-class exam on April 2, Tuesday, and a take-home final exam (30% each).

Other dates: Last day to add, drop (delete), elect CR/NC, or audit classes: Friday, January 18.
Last day to withdraw from classes: Friday, March 8.

ADA: The Americans with Disabilities Act requires that reasonable accommodations be provided to qualified individuals. To discuss any such accommodations, please contact me as well as the Center for Disability Services, (801) 581-5020, at the beginning of the semester.

BBC: Geeks v government

Stanford Magazine: Keeping secrets

The magic words are squeamish ossifrage

NYT: Programmer Exposes Microsoft Flaws

Python 1 squeamish ossifrage

Python 2 factoring

Python 3 Jacobi symbols

Python 4 Pocklington-Lehmer test

Maple 1 elliptic curves

Maple 2 elliptic curve factoring

Maple 3 Microsoft DRM

Homework 1 pdf and tex

Homework 2 pdf and tex

Homework 3 pdf and tex

Homework 4 pdf and tex

Homework 5 pdf and tex

Take-home exam pdf and tex and solutions

Anurag's Home Page