## 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 24th, 2017, 14:00-16:30

Course: Basics of C programming. Euclid's algorithm

Exercise: Simple exercises. Implementation of Euclid's algorithm. - Friday, March 3rd, 2017, 14:00-16:30

Course: Basics of C programming. Chinese Remainder Theorem. Computing with large integers.

Exercise: Implementations. - Friday, March 10th, 2017, 14:00-16:30

Course: Computing with large integers. Modular arithmetic.

Exercise: Implementation of large addition and multiplication. - Friday, March 24th, 2017, 14:00-16:30

Course: The RSA algorithm. Primality testing.

Exercise: Implementation of RSA light. Implementation of primality testing. - Friday, April 7th, 2017, 09:00 - 10:30

Course: Discrete-log groups and applications.

Exercise: Implementation of DL groups. - Friday, April 7th, 2017, 14:00-16:30

Course: Polynomial arithmetic and application to secret-sharing.

Exercise: Implementation of polynomial arithmetic. - Friday, May 5th, 2017, 14:00-16:30

Course: 30 years of attacks against RSA.

Exercise: implementation of RSA - Friday, May 12th, 2017, 9:00-10:30

Course: security proof for RSA signatures.

Exercise: implementation of RSA-FDH and fault attacks. - Friday, May 12th, 2017, 14:00-16:30.

Course: Discrete-log based cryptography

Exercise: implementation of EC El-Gamal - Friday, May 19th, 2017, 09:00 - 10:30

Course: Identity-based encryption.

Exercise: implementation of IBE - Friday, May 19th, 2017, 14:00-16:30.

Course: Security proof of Boneh-Franklin IBE - Tuesday, May 23rd, 2017, 11:30-14:00. Room C11.

Course: How to hash into Elliptic-Curves

Exercise: Implementation of Icart's function - Friday, June 2nd, 2017, 14:00-16:30.

Course: Side-channel attacks and countermeasures

Homework: big integer library and implementation of RSA.

This homework is due June 30th, 2017. It will make 100% of the final grade, with a bonus for students who have completed the exercises from the course.

Previous year: