Introduction to algorithmic number theory

Professor: Jean-Sebastien Coron.

The goal of the course is to give an introduction to algorithmic number theory.
  1. Monday, September 28th, 2009: 9h45-11h15
    Course: C programming.
    TP: Computations in C.
  2. Monday, September 28th, 2009: 11h30-13h00
    Course: C programming. Euclid's algorithm
    TP: Computations in C.
  3. Monday, October 12th, 2009: 09h45-11h15
    Course: C programming. Euclid's extended algorithm.
    TP: Euclid's extended algorithm.
  4. Monday, October 12th, 2009: 11h30-13:00
    Course: Modular arithmetic. Chinese remainder theorem.
    TP: implementation.
  5. Monday, October 26th, 2009: 09h45-11h15
    Course: Computing with large integers.
    TP: Addition and multiplication of large integers.
  6. Monday, October 26th, 2009: 11h30-13h00
    Course: modular exponentiation
    TP: implementation of modular exponentiation
  7. Monday, November 9th, 2009: 9h45-11h15
    Course: computing with large integers: division.
    TP: modular computation.
  8. Monday, November 9th, 2009: 11h30-13h00.
    Course: Euler function and Fermat's little theorem.
    TP: Euler function.
  9. Monday, November 23rd, 2009: 9h45-11h15
    Course: The RSA algorithm
    TP: Implementation of RSA with small parameters.
  10. Monday, November 23rd, 2009: 11h30-13h00
    Course: Primality tests
    TP: Implementation of Fermat's test and Rabin's test.
  11. Monday, December 7th, 2009: 09h45-11h15
    Course: Generators and discrete-log
    TP: Implementation of Diffie-Hellman protocol.
  12. Monday, December 7th, 2009: 11h30-13h00
    Course: Polynomials
    TP: Implementation.
  13. Monday, December 14th, 2009: 11h30-13h00.
    Course: Euclid's algorithm on polynomials
    TP: Implementation.

Homework: big integer library and implementation of RSA.
This homework is due February 7th, 2010. It will make 50% of the final grade.