Computational Number Theory and Algebra

CSCI-GA.3033-013 Fall 2013

Instructor: Victor Shoup

Mailing List

Lectures: Wednesdays, 5:10-7pm, room 517 WWH

Text: A Computational Introduction to Number Theory and Algebra (2nd edition), by Victor Shoup. Available for free on line.

Grading: There will be some problem sets.

Course description:

We shall study algorithms for computing with integers, polynomials, and other algebraic objects. These algorithms play an essential role in the technologies underlying modern systems for storing and transmitting data, especially in the areas of error correcting codes and cryptography, and we shall study some of these applications as well.

I'd like to spend most class time focusing on number theory and algorithms. The lectures should be easily accessible to students who have had undergraduate courses in abstract algebra, linear algebra, and probability theory; however, the textbook for the course develops all of the necessary mathematics from scratch, and so students with some gaps in their mathematical background can fill any such gaps by reading the textbook.

It is also assumed that students have some basic background in algorithm design and analysis.

Course Outline (tentative)

  1. Some basic number theory
  2. Arithmetic with large integers and applications
  3. The distribution of primes
  4. Probabilistic algorithms for generating prime numbers and random factored numbers
  5. Probabilistic primality testing
  6. Generators and discrete logarithms
  7. Quadratic reciprocity and computing modular square roots
  8. Subexponential-time algorithms for discrete logarithms and factoring
  9. Polynomial arithmetic and applications
  10. Linearly generated sequences
  11. Finite Fields
  12. Algorithms for finite fields
  13. Deterministic primality testing


  1. Problem Set 1, due Wednesday, Sept. 25.
  2. Problem Set 2, due Wednesday, Oct. 9
  3. Problem Set 3, due Wednesday, Oct. 23
  4. Problem Set 4, due Wednesday, Nov. 13
  5. Problem Set 5, due Wednesday, Nov. 27