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 A11.- Friday, February 25th, 2011, 14:00-16:30
Course: Basics of C programming. Euclid's algorithm
Exercise: Simple exercises. Implementation of Euclid's algorithm. - Friday, March 4th, 2011, 14:00-16:30
Course: Basics of C programming. Modular arithmetic
Exercise: Implementation of Euclid's extended algorithm. - Friday, March 11th, 2011, 14:00-16:30
Course: Computing with large integers. Modular exponentiation.
Exercise: Implementation of large addition and multiplication. - Friday, March 18th, 2011, 14:00-16:30
Course: Computing with large integers: modular reduction. Euler function.
Exercise: Implementation of modular reduction for large integers. - Friday, March 25th, 2011, 14:00-16:30
Course: The RSA algorithm. Primality testing.
Exercise: Implementation of RSA light. Implementation of primality testing. - Friday, April 1st, 2011, 14:00-16:30
Course: Discrete-log groups and applications.
Exercise: Implementation of DL groups. - Friday, April 8th, 2011, 14:00-16:30
Course: Polynomial arithmetic.
Exercise: Implementation of polynomial arithmetic. - Friday, April 29th, 2011, 14:00-16:30
Course: Application of polynomial arithmetic.
Exercise: Implementation of secret-sharing and AES Sboxes. - Friday, May 6th, 2011, 14:00-16:30
Course: 30 years of attacks against RSA.
Exercise: implementation of RSA - Friday, May 13th, 2011, 14:00-16:30
Course: security proof for RSA signatures.
Exercise: implementation of RSA-FDH and fault attacks. - Friday, May 20th, 2011, 14:00-16:30
Course: Identity Based Encryption
Exercise: implementation of IBE - Friday, May 27th, 2011,14:00-16:30
Course: Public-key infrastructure
Homework: big integer library and implementation of RSA.
This homework is due June 23rd, 2011. It will make 100% of the final grade.