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.- Friday, February 19th, 2016, 14:00-16:30
 Course: Basics of C programming. Euclid's algorithm
 Exercise: Simple exercises. Implementation of Euclid's algorithm.
- Friday, March 11th, 2016, 14:00-16:30
 Course: Basics of C programming. Chinese Remainder Theorem. Computing with large integers.
 Exercise: Implementations.
- Friday, March 18th, 2016, 14:00-16:30
 Course: Computing with large integers. Modular arithmetic.
 Exercise: Implementation of large addition and multiplication.
- Friday, March 25th, 2016, 08:00-10:30
 Course: The RSA algorithm. Primality testing.
 Exercise: Implementation of RSA light. Implementation of primality testing.
- Friday, March 25th, 2016, 14:00-16:30
 Course: Discrete-log groups and applications.
 Exercise: Implementation of DL groups.
- Friday, April 8th, 2016, 8:00-10:30
 Course: Polynomial arithmetic and application to secret-sharing.
 Exercise: Implementation of polynomial arithmetic.
- Friday, April 8th, 2016, 14:00-16:30. 
 Course: 30 years of attacks against RSA.
 Exercise: implementation of RSA
- Friday, April 22nd, 2016: 14:00-16:30.
 Course: security proof for RSA signatures.
 Exercise: implementation of RSA-FDH and fault attacks.
- Friday, May 6th, 2016, 08:00-10:30. 
 Course: Discrete-log based cryptography
 Exercise: implementation of EC El-Gamal
- Friday, May 6th, 2016, 14:00-16:30. 
 Course: Identity-based encryption.
 Exercise: implementation of IBE
- Friday, May 13rd, 2016, 14:00-16:30.
 Course: Security proof of Boneh-Franklin IBE
- Friday, May 20th, 2016, 14:00-16:30.
 Course: How to hash into Elliptic-Curves
 Exercise: Implementation of Icart's function
- Friday, May 27th, 2016, 14:00-16:30.
 Course: Side-channel attacks and countermeasures
Homework: big integer library and implementation of RSA.
This homework is due June 30th, 2016. It will make 100% of the final grade, with a bonus for students who have completed the exercises from the course.
Previous year:
