Impl´
ementation d’un multiplieur de Montgomery s´
ecuris´
e et cascadable
Sylvain GUILLEY
GET / T´
el´
ecom Paris, CNRS LTCI,
D´
epartement communication et ´
electronique
46 rue Barrault, 75634 Paris Cedex 13, France.
R´
esum´
e
Pour des questions de facilit´
e d’int´
egration et de
r´
eutilisabilit´
e, les multiplieurs de Montgomery doivent ˆ
etre
rendus modulaires. De plus, ils doivent r´
esister aux at-
taques sur leur impl´
ementation mat´
erielle. Cet article
pr´
esente un multiplieur qui satisfait `
a ces deux contraintes.
1. Introduction
La conception de processeurs d´
edi´
es `
a la cryptographie
asym´
etrique (chiffrement ou signature) soul`
eve deux d´
efis.
Tout d’abord, la taille des op´
erandes utilis´
es dans les
algorithmes augmente rapidement : l’accroissement expo-
nentiel des capacit´
es de calcul (loi de Moore) profite aux
attaques de recherche exhaustive de cl´
es. En mˆ
eme temps,
les attaques «court-circuit », c’est-`
a-dire plus rapides que
les attaques en force brute, continuent `
a s’affiner. Cette
tendance conduit `
a une augmentation du temps de calcul
pour les impl´
ementations logicielles ou `
a une augmenta-
tion de la taille et de la consommation en ´
energie des
impl´
ementations mat´
erielles.
Ensuite, les impl´
ementations des algorithmes sont de-
venues la cible d’attaques. On peut classer ces attaques en
deux cat´
egories, selon qu’elles sont passives ou actives. Les
attaques passives consistent `
a analyser des fuites d’infor-
mation, comme le temps de calcul (timing attack, not´
ee
TA [4]) ou la consommation instantan´
ee [5]. La connais-
sance du profil de consommation peut, par simple recon-
naissance de motifs, aider `
a l’identification d’une partie
du calcul. Cette attaque est appel´
ee SPA. La DPA permet,
quant `
a elle, de retrouver l’activit´
e d’une porte logique par
l’analyse conjointe de nombreux profils de consommation.
Par ailleurs, un attaquant peut aussi d´
ecider de modifier le
d´
eroulement du calcul, quitte `
a ce que son intervention soit
d´
etect´
ee par le mat´
eriel. Cette strat´
egie est `
a l’origine des
attaques par fautes (fault attacks, not´
ees FA [2]).
La plupart des algorithmes asym´
etriques s’appuient sur
des calculs dans des anneaux ou des corps multiplicatifs,
comme (Z/M Z,×). Parmi les algorithmes de multiplica-
tion modulaire propos´
es `
a ce jour, celui de Montgomery [6]
est `
a la fois le plus rapide et le plus appropri´
e pour le calcul
sur les grands nombres.
L’objectif de cet article est de proposer une architec-
ture mat´
erielle d’un multiplieur de Montgomery qui ap-
porte une solution aux deux d´
efis mentionn´
es plus haut.
Pour r´
eduire la taille de l’impl´
ementation, le multiplieur est
cascad´
e en un (ou plusieurs) op´
erateurs traitant des donn´
ees
de taille r´
eduite.
La suite de l’article est organis´
ee de la fac¸on suivante :
l’algorithme de multiplication modulaire de Montgomery,
not´
e MMM dans la suite, est expos´
e dans la section 2. La
section 3 pr´
esente la version cascad´
ee de l’algorithme de
MMM. L’´
evaluation de la s´
ecurit´
e de cet algorithme est
l’objet de la section 4. Enfin, l’article se termine par des
remerciements (section 5) et une conclusion (section 6).
2. Multiplication de Montgomery
´
Etant donn´
es trois nombres A,Bet Mv´
erifiant 0≤
A, B ≤2×M([7] explique les bornes), l’algorithme de
MMM [6] calcule A×B×2−dlog2(M)e−2mod Mou la
mˆ
eme quantit´
e plus M. Le d´
etail de l’algorithme est expos´
e
ci-dessous pour une impl´
ementation 1-bit s´
erie / parall`
ele :
Algorithme 1 Multiplication Modulaire de Montgomery
1: W:= 0; /* W est l’accumulateur */
2: for i:= 0 to log2(M)+ 1 do
3: if (Ai)then
4: W+ = B;/* «Accumulation »*/
5: end if
6: if (W0)then
7: W+ = M;/* «R´
eduction »*/
8: end if
9: W >>= 1; /* Ici, W est pair */
10: end for
11: return W;/* R´
esultat de la MMM
*/
Cet algorithme s’impl´
emente naturellement avec un
chemin de donn´
ee de taille log2(M)+ 2 bits. La valeur
typique de ce nombre est 2 048 bits pour RSA.
3. Impl´
ementations
Cette taille de chemin de donn´
ee est ´
elev´
ee. La
r´
ealisation mat´
erielle d’un tel bloc posera in´
evitablement
des probl`
emes lors de l’´
etape de conception physique (ba-
ckend). Par ailleurs, cette taille est sujette `
a des change-
ments inopin´
es : la publication d’une nouvelle cryptanalyse
peut n´
ecessiter un redimensionnement du jour au lende-
main. Pour ces deux raisons, il est souhaitable de d´
ecouper