Master in Security of Integrated Systems and Application : Secure your future
Program
Algorithms for Cryptography (28h)
Jean-Claude Bajard and Sylvain Duquesne
- bajard@lirmm.fr
- 04 67 41 86 45
Back to Program Detail
Synopsis
Recent cryptographic protocols are based on modular and finite field arithmetics. It is particularly the case of public key cryptography. Hence, to get efficient implementations, exploiting well adapted algorithms is a critical factor of success. As multiplication is one of the most frequent but also one of the most costly operations, we present different algorithms which are more or less efficient with respect to the operand sizes. Cryptographic sizes can reach huge numbers of thousands binary digits. Those approaches are also available for extended finite fields in polynomial representations. Another aspect we deal with, is the modular reduction. Westudy different cases, from the most general using a division to the NIST recommendations where this operation can be reduced to few additions. To end this overview, we will approach the exponentiation for example in RSA and the inversion needed in some protocols like ECC.
Timetable
(A session amounts to 13/4 hours.)- Session 1
- Multiplication: Classical double and add, Karatsuba-Ofman algorithm
- Session 2
- Practical implementations
- Session 3
- Multiplication: Toom-Cook Approach, Schonhage-Strassen Algorithm
- Session 4
- Practical implementations
- Sessions 5
- Reduction: Integer division, Montgomery reduction
- Session 6
- Practical implementations
- Session 7
- Reduction: Barrett reduction, Pseudo Mersenne numbers
- Session 8
- Practical implementations
- Session 9
- Finite Field Multiplication: Mastrovito Approach
- Session 10
- Practical implementations
- Sessions 11
- Finite Fields Multiplication: Normal Bases, Dual Bases
- Session 12
- Practical implementations
- Session 13
- Exponentiation: Square and multiply, sliding windows
- Session 14
- Practical implementations
- Session 15
- Finite Fields Inversion: Euclidean algorithm, Fermat approach
- Session 16
- Practical implementations
Back to Program Detail How to apply Contact us