EPFL-IC-IIF-LACAL Marcelo E. Kaihara April 27 th, 2007 Algorithms for public-key cryptology Montgomery Arithmetic
RSA: ElGamal: Motivation Need of efficient algorithms for modular multiplication Most of the time computing modular multiplications
Radix representation Notation Multiple-precision integer arithmetic depending on the processor (normalized)
General overview Ordinary RepresentationMontgomery Representation Sequential multiplications performed in Montgomery representation Montgomery Multiplication
Isomorphic Ordinary RepresentationMontgomery Representation Montgomery radix Montgomery Multiplication
Definition Definition:
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute? Algorithm
How to compute?
Subtraction-less Montgomery multiplication Algorithm
Subtraction-less Montgomery multiplication Algorithm
Subtraction-less Montgomery multiplication Algorithm
Ordinary RepresentationMontgomery Representation Conversion back and forth from ordinary representation and Montgomery representation
How to compute R 2 mod m ? Ordinary RepresentationMontgomery Representation Montgomery Bootstrapping
What about modular inversion? Ordinary RepresentationMontgomery Representation Montgomery Bootstrapping
How to compute m 0 -1 mod B? Montgomery Bootstrapping
Montgomery Squaring
RSA pseudorandom bit generator