
D34: M´ethodes de calcul efficaces
Arithm´etique dans Fpet F2n
1 Exercices
Exercice 1. Algorithme de Barrett
1. Calculer mmod ppour les valeurs de met psuivantes:
(i) m= 1254, p = 56
(ii) m= 9956, p = 56
(iii) m= 101011012, p = 10012
2. ´
Ecrire la version d´ecimale de l’algorithme de Barrett. Montrer que le nombre
d’it´erations de la boucle while est le mˆeme que dans le cas binaire.
Exercice 2. Algorithme de Montgomery en base β
Le but est d’´ecrire une version g´en´erale de l’algorithme de Montgomery vu en
cours. On veut r´ealiser la multiplication modulaire de A= (an−1...a0)βpar
B= (bn−1. . . b0)βmodulo P= (pn−1. . . p0)β(on notera Mle r´esultat).
1. Quel r´esultat calcule la multiplication de Montgomery?
2. Rappeler l’algorithme de multiplication des livres d’´ecoles en base β.
3. Posons M0=M+aiB+qP pour un Met un idonn´es. Calculer qpour que
M0soit divisible par β. Montrer que si M≤2p−1 alors M0≤2p−1.
4. D´eduire de ce qui pr´ec`ede l’algorithme de Montgomery en base β.
Exercice 3. Nombre de Crandall et Solinas
1. Calculer les r´eduction modulaire suivantes:
(i) 869 mod 102−3
(ii) 123456 mod 1009
(iii) 25612864321 mod 1003001
(iv) (10101010100101010101)2mod (1111111111)2
2. On admettra que le nombre p224 =f(232 ) o`u f(X) = X7−X3+ 1 est
premier. Proposer un algorithme de r´eduction modulaire efficace (6 addition-
s/soustractions de nombres de 224 bits).
1