Algorithms for Numbers and Public-Key Cryptography

Professors: Jean-Sébastien Coron

The goal of the course is to learn the basics of computational number theory and public-key cryptography.

The course takes place in room A14.
  1. Friday, March 6th, 2015, 14:00-16:30
    Course: Basics of C programming. Euclid's algorithm
    Exercise: Simple exercises. Implementation of Euclid's algorithm.
  2. Friday, March 13rd, 2015, 14:00-16:30
    Course: Basics of C programming. Chinese Remainder Theorem. Computing with large integers.
    Exercise: Implementations.
  3. Friday, March 20th, 2015, 14:00-16:30
    Course: Computing with large integers. Modular exponentiation.
    Exercise: Implementation of large addition and multiplication.
  4. Friday, April 3th, 2015, 14:00-16:30
    Course: The RSA algorithm. Primality testing.
    Exercise: Implementation of RSA light. Implementation of primality testing.
  5. Friday, April 17th, 2015, 14:00-16:30
    Course: Discrete-log groups and applications.
    Exercise: Implementation of DL groups.
  6. Friday, April 24th, 2015, 14:00-16:30
    Course: Polynomial arithmetic and application to secret-sharing.
    Exercise: Implementation of polynomial arithmetic.
  7. Wednesday, May 6th, 2015, 10:30-13:00. Room B15
    Course: 30 years of attacks against RSA.
    Exercise: implementation of RSA
  8. Wednesday, May 13th, 2015, 10:30-13:00. Room B15
    Course: security proof for RSA signatures.
    Exercise: implementation of RSA-FDH and fault attacks.
  9. Friday, May 15th, 2015, 14:00-16:30.
    Course: Discrete-log based cryptography
    Exercise: implementation of EC El-Gamal
  10. Wednesday, May 20th, 2015, 10:30-13:00. Room B15.
    Course: Identity-based encryption.
    Exercise: implementation of IBE
  11. Friday, May 22nd, 2015, 14:00-16:30.
    Course: Security proof of Boneh-Franklin IBE
  12. Wednesday, May 27th, 2015, 10:30-13:00. Room B15.
    Course: Side-channel attacks and countermeasures

Homework: big integer library and implementation of RSA.
This homework is due June 27th, 2015. It will make 100% of the final grade, with a bonus for students who have completed the exercises from the course.


Previous year: 2014