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

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.

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 Tuesday, March 13, and a take-home final exam (30% each).

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

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

NYT: Programmer Exposes Microsoft Flaws

Python Handout 1 squeamish ossifrage

Python Handout 2 factoring

Python Handout 3 Jacobi symbol

Python Handout 4 Pocklington-Lehmer test

Maple Handout 1 elliptic curves

Maple Handout 2 elliptic curve factoring

Maple Handout 3 Microsoft DRM

Homework 1 pdf and tex

Homework 2 pdf and tex

Homework 3 pdf and tex

Homework 4 pdf and tex

Final Exam pdf, tex, and solutions

Anurag's Home Page