Vous êtes sur la page 1sur 6

M

Y
100 % 80 % 60 % 40 % 20 % 10 %

5%

C
100 % 80 % 60 % 40 % 20 % 10 %

5%

B
100 % 80 % 60 % 40 % 20 % 10 %

5%

100 % 80 % 60 % 40 % 20 % 10 %

5%

pli
paire

La cryptographie RSA
vingt ans aprs
JEAN-PAUL DELAHAYE

Comme tout le monde, par lintermdiaire


du systme RSA quasi universel, vous utilisez
des nombres premiers pour payer vos achats.
Le coffre de HMS Titanic

e systme de cryptage RSA a t


invent en 1977 par Ron Rivest,
Adi Shamir et Len Adleman (dont
les initiales forment RSA). Ces trois
auteurs avaient dcid de travailler
ensemble pour tablir quun nouveau systme de codage rvolutionnaire,
dnomm systme clef publique que
W. Diffie et M. Hellman venaient d'inventer,
tait une impossibilit logique (autrement
dit, que tout systme de cryptage de cette
nature prsentait des failles). Ils ne
russirent pas dans leur projet, mais, au
contraire, dcouvrirent un nouveau systme clef publique qui supplanta vite
celui de W. Diffie et M. Hellman.
Nous expliquerons le fonctionnement
du systme RSA en gardant en tte une
dissymtrie qui sous-tendra notre comprhension : il est facile (une seule opration) de multiplier deux nombres
premiers ayant un nombre important de
chiffres, 100 pour fixer les ides, et il est

trs difficile de dterminer les facteurs


premiers dun autre nombre de cette taille.
Si lon sy prend navement, il faut diviser ce nombre par beaucoup de nombres
plus petits et dterminer le reste : si celuici est nul, on a dtermin ainsi un diviseur. Les mathmaticiens ont mis au point
des moyens plus rapides que les divisions
successives, mais le nombre doprations
effectuer reste considrable pour des
nombres de taille importante. Ainsi il est
actuellement impossible, pour des
nombres appartenant certaines catgories, de factoriser ceux de plus de
200 chiffres, mme avec les ordinateurs
les plus rapides et les algorithmes les plus
performants.
Le systme RSA est utilis la fois
pour crypter des messages et pour les
signer. Le message est envoy par metteur et reu par Destinataire. C'est un systme clef publique, ce qui signifie que :
l'algorithme de calcul n'est pas cach,

ni la clef de codage (appele de ce fait


clef publique) ;
la connaissance de la clef publique de
Destinataire permet tous les metteurs
de crypter les messages quils destinent
Destinataire, mais seul ce dernier
peut dcrypter les messages qu'il reoit
des metteurs, grce sa clef de dcodage prive, qu'il cache soigneusement. Les clefs publiques des
Destinataires qui souhaitent recevoir des
messages peuvent tre publies dans un
annuaire ou sont obtenues, la demande,
en contactant pralablement celui qui
lon veut faire parvenir un message.
Ce type de systmes possdant une
clef de dcodage diffrente de la clef de
codage (le systme est dissymtrique)
prsente un avantage sur les systmes
classiques (dits symtriques, car une seule
et mme clef sert la fois au codage et
au dcodage) : avant un change, les
deux interlocuteurs n'ont pas besoin de

1. CODAGE DES MESSAGES

J.- M. Thiriet

Pour coder, metteur consulte un annuaire o il trouve la


clef publique Pub de Destinataire (a). metteur code son
texte avec cette clef publique Pub de Destinataire et l'envoie
(message secret A). Tout le monde peut envoyer un tel
message crypt Destinataire (b). Destinataire dcode,

104

PLS Page 104

avec sa clef prive Pri, le message dmetteur (c). Seul


Destinataire peut dcoder les messages qui lui parviennent.
Le cryptage-dcryptage est fond sur la proprit :
Pri(Pub(texte)) = texte. Aucune mthode rapide pour avoir
Pri partir de Pub ne semble exister.

POUR LA SCIENCE - N 267 JANVIER 2000

B C Y M

Y
100 % 80 % 60 % 40 % 20 % 10 %

5%

C
100 % 80 % 60 % 40 % 20 % 10 %

5%

B
100 % 80 % 60 % 40 % 20 % 10 %

5%

100 % 80 % 60 % 40 % 20 % 10 %

5%

pli

impaire

se rencontrer pour convenir d'une clef


secrte, qui devra rester connue d'eux
seuls, ni n'ont besoin de faire circuler sur
un rseau informatique ou autre une
clef secrte, transmission qui bien sr
engendre un risque. Seule la clef publique,
insuffisante pour le dcryptage, est connue
pralablement aux changes crypts entre
les deux interlocuteurs.
Le RSA est un systme clef publique
qui permet de signer on dit aussi authentifier des messages : pour cela, metteur transforme, avec sa clef prive, le texte
signer en un message cod. Destinataire reoit le message et la signature quil
peut dcoder avec la clef publique dmetteur (le fait de pouvoir dcoder la signature assure que cest bien metteur qui a
sign le message). On peut combiner les
mthodes de codage et didentification,
comme indiqu sur la figure 2.
L'algorithme RSA est moins rapide que
les algorithmes classiques une seule
clef, ce qui est un handicap lorsque l'on
doit coder des messages volumineux.
Aussi est-il frquemment utilis en combinaison avec un algorithme classique.
Dans une premire phase, le RSA (avec
ses deux clefs) permet metteur de
transmettre secrtement Destinataire
une troisime clef secrte qu'ils seront
seuls connatre : metteur la fait parvenir Destinataire en la cryptant avec
la clef publique de Destinataire, qui, l'arrive, la dcrypte avec sa clef secrte.
Dans un second temps, la troisime
clef est utilise avec un algorithme symtrique convenu pour envoyer rapidement
Destinataire le long message. Les algorithmes clefs symtriques tant de cent
dix mille fois plus rapides que RSA (selon

qu'il s'agit de versions matrielles ou logicielles), ce procd deux tages est


aujourd'hui d'utilisation trs commune.

VOUS L'UTILISEZ
SANS LE SAVOIR

Insistons sur le fait que ce jeu numrique lmentaire est aujourd'hui un


systme universel servant dans une multitude d'applications. Au cours des annes,
il a supplant tous ses concurrents, qui
sont abandonns (au profit du RSA) soit
parce qu'on y a trouv des points faibles,
soit parce qu'ils n'ont pas t assez tudis pour qu'on soit convaincu de leur
solidit.
La technologie RSA est protge par
un brevet dans certains pays (aux tatsUnis, ce brevet expire en septembre 2000 ;
en France, il n'y a pas de brevet). Elle a
t commercialise par plus de 350 entreprises, et lon estime que plus de 300 millions de programmes installs utilisent
le RSA : votre ordinateur contient sans
doute de tels programmes, qui sont activs sans mme que vous le sachiez
lorsque, par exemple, vous souhaitez
mener des transactions scurises sur
l'Internet.
Le RSA est inclus dans de nombreux
standards informatiques, dont le Society
for Worldwide Interbank Financial Telecommunication Standard ou le French
Financial Industry's ETEBAC-5 Standard,
ou encore le X9.44 draft Standard for
the U.S. Banking Industry. Le RSA est programm aussi dans les systmes d'exploitation de Microsoft, d'Apple, de Sun
et de Novel. Il est intgr dans les cartes
Ethernet et dans certaines cartes puce

bancaires. Un trs grand nombre d'institutions gouvernementales, universitaires


ou militaires l'utilisent de faon interne.
Le rseau Internet en fait un usage systmatique pour assurer la confidentialit
du courrier lectronique et authentifier les
utilisateurs. Bref, le RSA est partout.
Nous avons vu que le systme RSA
est fond sur la particularit quune opration inverse est plus difficile que lopration directe. Examinons alors les
oprations arithmtiques de RSA qui ont
cette proprit.
Protocole RSA pour envoyer un message crypt :
(a) Cration des clefs. Destinataire
construit un quadruplet de nombres
(p, q, e, d) tel que : p et q sont deux
nombres premiers ; on pose n = pq ; e
est un entier premier avec le produit
(p 1)(q 1) ; d est un entier positif tel
que ed 1 est un multiple de (p 1)(q 1),
c'est--dire tel que ed = 1 mod (p 1)(q 1).
On sait alors d'aprs l'nonc du thorme du RSA que, si A est un entier quelconque, alors : A ed = A (mod n), et c'est
cette identit qui va tout faire fonctionner.
Grce aux algorithmes probabilistes,
on sait engendrer des nombres premiers
de plusieurs milliers de chiffres de long
en peu de temps ; le calcul de p et q est
donc rapide. Trouver e et d est aussi une
opration rapide, car l'algorithme d'Euclide qui permet de calculer ces deux
nombres est un algorithme peu coteux
excuter. Au total, la constitution d'un
quadruplet (p, q, e, d) est donc une
opration rapide pour un ordinateur,
mme si lon souhaite que p et q aient
quelques centaines ou quelques milliers
de chiffres.

2. SIGNATURE ET CODAGE SIMULTANS

SI metteur, non content denvoyer un message, dsire


aussi le signer, de manire que Destinataire soit certain que
cest metteur qui la crit, il code un texte de signature
avec sa clef secrte Pri' et obtient le message cod B (d). Il
adjoint alors le message B au texte initial et il code le tout

avec la clef publique Pub de Destinataire (e). Il obtient ainsi


le message A. Destinataire dcode le message A avec sa
clef prive Pri, puis le message B avec la clef publique
d'metteur Pub'. Cette technique de codage repose sur la
proprit : Pub'(Pri(Pub(Pri'(texte)))) = (texte).

POUR LA SCIENCE - N 267 JANVIER 2000

PLS Page 105

B C Y M

Y
100 % 80 % 60 % 40 % 20 % 10 %

5%

C
100 % 80 % 60 % 40 % 20 % 10 %

5%

B
100 % 80 % 60 % 40 % 20 % 10 %

5%

100 % 80 % 60 % 40 % 20 % 10 %

5%

pli
paire

3. LE THORME DU RSA

Le protocole RSA se fonde sur le thorme suivant.


Soient p et q deux nombres premiers. On pose n = pq. Si le nombre e est un
entier premier avec le nombre (p 1)(q 1), alors il existe un entier d positif,
tel que ed = 1 mod (p 1)(q 1), et, pour cet entier d et un entier A
quelconque, on a : A ed = A (mod n).
La dmonstration n'utilise que des mathmatiques parfaitement connues
depuis le XVIIIe sicle. Il est amusant de voir que les mathmatiques du RSA
attendaient depuis deux sicles qu'on leur trouve une application : les
mathmatiques taient en avance. Ce n'est pas toujours le cas, et,
aujourd'hui, en matire de preuve de complexit, la cryptographie attend des
rsultats mathmatiques qui ne viennent pas (concernant les liens entre RSA
et factorisation, ou concernant la difficult de la factorisation) : les
mathmatiques sont en retard!

(b) Destinataire rend publics n et e, qui


constituent la clef publique. Il la publie dans
un annuaire ou la communique metteur, qui la lui demande. Il ne communique
surtout pas p, q ou d. Les nombres p et q
peuvent tre oublis, car ils ne serviront
plus personne. Le nombre d constitue
la clef secrte de Destinataire.
(c) metteur, qui veut transmettre une
information secrte Destinataire, transforme son information en un nombre
entier A, infrieur n (ou en plusieurs si
ncessaire), en utilisant des conventions
connues de tous (provenant, par exemple,
des codes numriques des caractres
typographiques, ou en prenant a = 01,
b = 02, etc.).
(d) metteur calcule, (voir la figure 4),
grce la mthode d'exponentiation
rapide, B = Ae (mod n), envoie B Destinataire par un canal qui n'a pas besoin
d'tre protg (par exemple, le courrier
lectronique).
(e) Destinataire, pour dcoder B, calcule Bd (mod n), ce qui lui redonne A, car,
d'aprs le thorme du RSA , on a
Bd = Aed = A (mod n).

UTILISATION
ET SCURIT DU RSA
Avec les techniques utilises aujourd'hui
pour programmer les systmes RSA, les
spcialistes estiment que doubler la longueur des clefs multiplie le temps de cration des clefs par 16 (croissance en L4,
L tant la longueur des clefs) et multiplie,
en revanche, le temps des oprations de
codage, dcodage, signature et authentification seulement par 4 (croissance en
L2). En se fondant sur l'hypothse que
casser le RSA demanderait des algorithmes
non polynomiaux, cest--dire plus longs,
certains dduisent que, plus les machines
seront puissantes, plus on pourra utiliser
facilement de longues clefs, et que donc
plus l'cart entre la puissance disponible
et celle ncessaire pour casser le RSA
sera grand. Autrement dit, plus le temps
106

PLS Page 106

passe, plus RSA serait robuste et sr. Nous


verrons plus loin que cette prsentation
des choses est trs optimiste et loin d'tre
mathmatiquement tablie.
Sur le plan pratique, les experts recommandent aujourd'hui d'utiliser des
nombres n de 768 bits (232 chiffres
dcimaux) pour mettre en uvre le RSA
dans le cas de donnes pas trop importantes, mais ils conseillent 1 024 bits (309
chiffres dcimaux) pour un usage commercial et 2 048 bits (617 chiffres dcimaux) pour avoir une garantie se
prolongeant sur une longue priode de
temps. Les clefs de 512 bits (155 chiffres
dcimaux), encore trs utilises, ne
devraient plus l'tre, car on a russi, en
aot 1999, factoriser un nombre n
(produit de deux grands nombres premiers) de 512 bits.
La confiance dans la scurit du
RSA n'est pas due la dmonstration thorique que ce systme est sr, car une telle
dmonstration n'existe pas (nous allons
y revenir). La confiance affiche provient de l'chec, rpt depuis plus de
20 ans, de toutes les tentatives entreprises pour casser ce systme, tentatives
qui n'ont conduit qu' la formulation de
quelques recommandations pour le choix
des paramtres p, q, e, d. D'autres systmes concurrents du RSA sont peut-tre
aussi bons ou mme meilleurs, mais
aucun ne bnficie de la validation par
l'usage et la robustesse aux attaques dont
le RSA peut se prvaloir. Le fait d'avoir t
l'un des premiers lui a donn un avantage qui, puisqu'il rsiste aux tentatives
deffraction, le maintient en tte.
Sur le plan thorique, la situation est
dcevante et le restera certainement longtemps. Celui qui sait factoriser n = pq
retrouve ensuite facilement d. Inversement, les mathmatiques montrent que
celui qui connat n, e et d peut trouver
rapidement p et q. La robustesse du
RSA apparat donc lie la difficult de
la factorisation. Malheureusement, il n'est
pas exclu que quelqu'un, sans russir

obtenir d ni p ni q, puisse dcrypter un


message : autrement dit, il n'a pas t
prouv que la difficult du RSA est quivalente celle de la factorisation. Deux
attaques thoriques du RSA sont donc
envisageables. Celle passant par la factorisation : quiconque sait factoriser les
nombres de la taille de n = pq sait lire
comme livre ouvert tous les messages
crypts par le RSA. Celle contournant la
factorisation, dont personne n'a su tablir
qu'elle tait impossible et pour laquelle,
au contraire, on a propos rcemment
des arguments indiquant qu'elle devait
tre srieusement crainte. Dan Boneh et
Ramarathnam Venkatesan ont en effet
tabli en 1998 que casser le RSA, lorsqu'il
est utilis avec des exposants e trop petits,
n'est pas quivalent factoriser n.

TENTATIVES POUR BRISER


LE RSA
D'autres consignes et mises en garde
sont d'ailleurs formules destination des
utilisateurs du RSA. Certains nombres
premiers p et q doivent tre vits : on
conseille de prendre p et q de taille proche,
et d'viter que les nombres p + 1, p 1,
q + 1, q 1 soient faciles factoriser
(car alors n risquerait de l'tre aussi par
l'utilisation d'algorithmes spcialiss de
factorisation qui savent tirer parti des factorisations de p + 1, p 1, q + 1, q 1).
Un conseil vident, mais ne pas oublier,
est que le nombre n ne doit pas tre choisi
par plus d'une entit : sinon, l'utilisation
des diverses clefs publiques des utilisateurs du mme nombre n risquerait de
donner accs aux facteurs de n.
Plus subtil, mais trs important, il ne
faut jamais accepter de signer un message en apparence alatoire soumis par
un inconnu. En effet, en choisissant bien
ce message, l'inconnu peut en dduire
la signature dun message qu'il aura choisi
lui-mme au pralable, et vous vous retrouveriez donc devoir assumer une signature que vous n'avez pas donne.
L'utilisation d'exposants e trop petits
doit tre vite.
Il faut complter les textes, avant de
les coder, par des bouts choisis alatoirement et surtout pas par de longues
sries de blancs ou de zros.
Une attaque astucieuse propose par
P. Kocher consiste mesurer minutieusement le temps de calcul (ou la consommation lectrique) demand pour le
codage, ce qui permet, si lon dispose
de suffisamment de donnes, de retrouver les clefs utilises. Applique aux cartes
puce, cette mthode se rvlerait catastrophique. Heureusement, se prmunir
contre cette attaque est assez facile : il
suffit de s'arranger pour que le temps de
calcul (ou la consommation lectrique)
POUR LA SCIENCE - N 267 JANVIER 2000

B C Y M

Y
100 % 80 % 60 % 40 % 20 % 10 %

5%

C
100 % 80 % 60 % 40 % 20 % 10 %

5%

B
100 % 80 % 60 % 40 % 20 % 10 %

5%

100 % 80 % 60 % 40 % 20 % 10 %

5%

pli

impaire

apparent soit fauss, en oprant des


calculs supplmentaires inutiles une fois
le codage ralis, avant d'envoyer l'information que le codage est termin.

ON NE S'IMPROVISE PAS
CRYPTOGRAPHE

De nombreuses erreurs dans la gestion


imprudente ou maladroite des clefs
sont aussi l'origine de dcryptages inopins des messages considrs inviolables,
car obtenus avec RSA. Une prudence
tous les niveaux est indispensable pour
en arriver des systmes fiables. Dans
un article paru en 1999, Dan Boneh, qui
est le grand spcialiste des attaques du
RSA proposait cette conclusion rassurante : En ce moment, il apparat que
l'on peut avoir confiance dans la scurit que procure le RSA au monde numrique. Bruce Schneier, un autre
spcialiste international de la cryptographie trs proccup des ralisations oprationnelles, insiste sur le fait que la plupart
des systmes de cryptographie qu'on a
russi casser l'ont t, non par l'attaque
russie du noyau mathmatique du systme, mais cause de faiblesses dans
la mise en uvre : mauvaise gnration
des clefs, mots de passe mal choisis ou
mal protgs, contournement possible de
l'algorithme mathmatique, etc.
L'ide dfendue que le noyau mathmatique du RSA est inviolable est seulement une conclusion exprimentale tire
de l'chec des tentatives connues d'attaques du RSA (lorsqu'on l'utilise en
respectant les consignes formules par
les spcialistes dont la liste s'allonge
chaque anne). Cette conclusion n'interdit pas que le risque thorique li au
RSA puisse tre jug grand, puisqu'on
n'a ni russi montrer que la factorisation est difficile (aucun espoir n'existe
court terme qu'on y arrive), ni mme russi
montrer que le RSA est aussi difficile
que la factorisation.
l'vidence, si une agence de renseignements a dcouvert quelque chose
concernant la factorisation ou s'appliquant
directement au RSA sans passer par la
factorisation, elle ne rendra pas publique
sa dcouverte et, au contraire, fera tout
pour la maintenir secrte le plus longtemps
possible. Dire cela n'est pas faire preuve
d'une mfiance maladive, mais du simple
bon sens. La tranquille assurance exprime par les spcialistes propos de la
scurit du RSA apparat incomprhensible, et parfois mme assez louche.
Dix fois, dans l'histoire des services
d'espionnage, un systme de codage a
t considr cent pour cent sr et inviolable par ceux qui l'utilisaient, alors qu'au
mme moment un service ennemi ayant
perc le secret du systme lisait tran POUR LA SCIENCE - N 267 JANVIER 2000

PLS Page 107

4. LE CALCUL DE L'EXPONENTIATION RAPIDE

Dans la mise en uvre aussi bien des algorithmes probabilistes pour


engendrer des nombres premiers que pour l'implmentation du RSA, on a
besoin de calculer rapidement Ae mod n. Voici une mthode (dont le principe
gnral est emprunt la multiplication gyptienne) qui permet ce calcul.
Calcul de Ae mod n
partir du triplet (A, e, 1) = (P, J, R) puis :
si J est pair, passer (P 2 mod n, J/2, R mod n)
si J est impair, passer (P 2 mod n, (J 1)/2, R P mod n)
s'arrter si J = 1, le rsultat est R = P mod n
Exemple :
A 13 mod n
(A,13, 1)
(A 2 mod n, 6, A)
(A4 mod n, 3, A)
8
5
13
(A mod n, 1, A )
R = A mod n. Avec n = 5 et A = 2 :
213 mod 5
(2,13,1)
(4, 6, 2)
(1, 3, 2)
(1, 1 , 2)
R=2

quillement tous les messages qui tombaient entre ses mains. Cela s'est produit pendant la Premire Guerre mondiale :
les services franais dcodaient chaque
nuit les messages destins aux U-boot
tapis au fond de la Mditerrane, ce qui
permettait de modifier avant l'aube les programmes de navigation des bateaux
menacs. nouveau, pendant la Seconde
Guerre mondiale, cela s'est produit avec
la fameuse affaire de la machine Enigma,
o s'illustra Alan Turing. Signalons aussi
l'extraordinaire secret qui a entour cette
aventure impliquant les centaines de personnes qui ont travaill au Bletchley Park,
prs de Londres, qui toutes sont restes
muettes pendant trente ans : le sens patriotique est une motivation suffisante pour
faire taire mme le mathmaticien le
plus soucieux du partage de ses dcouvertes. Il me semble que, si un mathmaticien canadien (mme s'il est
universitaire) dcouvre quelque chose
d'important sur la factorisation, il le gardera pour les militaires canadiens, de
mme qu'un mathmaticien franais rservera ses thormes cryptographiques cruciaux pour les militaires franais, etc.
Pourquoi donc, alors que des moyens
considrables sont consacrs la cryptanalyse et donc toutes les mathmatiques et techniques qui y sont lies par
les agences spcialises de renseignements puissantes et fortunes, ne pas envisager srieusement, qu'ignore des circuits

de la recherche universitaire (et provenant


peut-tre d'un universitaire patriote), une
dcouverte fondamentale faisant tomber
le RSA ait t faite et reste cache?
Mme si lon nest pas paranoaque,
en labsence de rsultats mathmatiques
tablissant la scurit du RSA, il est sage
de ne pas trop lui faire confiance. Ralise-t-on, quand on utilise la mthode de
cryptage deux tages voque plus haut
(RSA pour communiquer une clef, puis algorithme symtrique), que si un seul des deux
tages est perc c'est tout le systme qui
coule? Comment ne pas penser de la
dsinformation quand on lit, en contradiction avec tout bon sens, que le systme
deux tages est d'autant plus solide qu'il
utilise deux mthodes cryptographiques !
A. M. Odlyzko a publi un bilan sur
le cryptosystme double clef de Merkle
et Hellman fond sur le problme du
sac dos (un problme combinatoire de
rangement). Grce certaines proprits mathmatiques le reliant d'autres
problmes assez bien compris, ce cryptosystme fut considr un temps comme
plus prometteur que le RSA. Malheureusement, il fut cass, et les variantes qui
ont t proposes aujourd'hui de ce
systme se sont rvles pour l'essentiel aussi fragiles que la version originale,
tant et si bien que du systme le plus prometteur d'il y a 15 ans il ne reste rien
aujourd'hui. N'en sera-t-il pas de mme
pour le RSA dans 15 ans, et tout ce qui

5. EXEMPLE NUMRIQUE SIMPLIFI DE CODAGE RSA

p = 47, q = 71, n = pq = 3337, (p 1)(q 1) = 3220, e = 79, d = 1019


On vrifie que ed = 80501 = 25 3220 + 1 = 1 mod 3220
Prenons un message pralablement transform en un nombre :
m = 6882326879666683
On dcoupe m : m1 = 688 m2 = 232 m3 = 687 m4 = 966 m5 = 668 m6 = 3
Le premier bloc est chiffr par le nombre c1= 68879 mod 3337 = 1570 ;
de mme : c2 = 2756 c3 = 2091 c4 = 2276 c5 = 2423 c6 = 158.
Le dchiffrement du message se fait en calculant :
c1=15701019 mod 3337 = 688, etc.

107

B C Y M

Y
100 % 80 % 60 % 40 % 20 % 10 %

5%

C
100 % 80 % 60 % 40 % 20 % 10 %

5%

B
100 % 80 % 60 % 40 % 20 % 10 %

5%

100 % 80 % 60 % 40 % 20 % 10 %

5%

pli
paire

aura t crypt avec lui ne sera-t-il pas


alors accessible chacun facilement?
Citons encore le cas du RSA for
paranoids propos par A. Shamir (le
S du RSA ) en 1995. Il s'agit d'une
variante du RSA, destine rassurer les
utilisateurs inquiets du RSA classique en
leur permettant d'utiliser, sans trop augmenter les cots de codage, des nombres
n plus longs. Trois ans aprs, ce prtendu
renforcement du RSA tait cass par
H. Guilbert, D. Gupta, A. Odlyzko et
J.-J. Quisquater, qui en identifiaient de
graves points faibles. Ainsi, l'un des inventeurs du RSA , croyant renforcer sa
mthode dans le but de satisfaire les paranoaques, a renforc leurs craintes. Si

nous souhaitons protger des donnes


pour une longue priode de temps, soyons
conscients que tout s'appuie, en cryptographie mathmatique, sur un tat de l'art
qui peut changer rapidement et dont la
ralit est peut-tre dj totalement autre
que celle prsente au public.
Le grand nombre de systmes nouveaux invents chaque anne et qu'on
exhibe dans le but de calmer les inquiets
(de toutes les faons, si tel systme
est cass vous pourrez toujours utiliser
celui-l) ne rsout en rien le problme,
qui est de disposer d'UN systme prouv
robuste. Rien ne ressemble plus un systme cryptographique solide qu'un systme cryptographique faible, et aujourd'hui

6.LE RECORD DE FACTORISATION DU 22 AOT 1999

Le travail ncessaire aux grandes factorisations est complexe : voici quelques


dtails sur le calcul men pour venir bout du RSA-155. Le 22 aot 1999, une
quipe de l'Institut national de recherche en mathmatiques et en science
informatique d'Amsterdam annonait avoir cass la clef numrique de 512
bits (155 chiffres dcimaux), problme connu sous le nom du RSA-155. Le
rsultat trouv tient en quelques lignes ; c'est la factorisation d'un nombre de
155 chiffres en deux nombres premiers de 78 chiffres :
109417386415705274218097073220403576120037329454492059909138
421314763499842889347847179972578912673324976257528997818337
97076537244027146743531593354333897
=102639592829741105772054196573991675900716567808038066803341
933521790711307779 10660348838016845482092722036001287867
9207958575989291522270608237193062808643
Trois cents ordinateurs divers (stations de travail et PC) ont travaill ce
rsultat cumulant un total de calcul valu 8 000 Mips anne (1 Mips = un
million d'instructions par seconde). Le droulement des oprations s'est tal
sur une priode de trois mois et demi. La primalit des facteurs a t value
par deux mthodes diffrentes. L'algorithme utilis est le GNFS (General
Number Field Sieve), qui dj avait permis de battre le prcdent record de
factorisation, le RSA-140, en fvrier 1999.
Une lgre amlioration de la mthode utilise pour le RSA-140 a t utilise.
Si la mthode du RSA-140 avait t reprise sans modification, 14 000 Mips
annes auraient t ncessaires. Ainsi, en six mois, les progrs thoriques
ont conomis 40 pour cent du calcul. En y ajoutant les progrs
technologiques des microprocesseurs et la capacit accrue des rseaux pour
faire cooprer des ordinateurs, la puissance a t double en six mois.
Le travail s'est droul en une srie complexe de phases ncessitant des
ordinateurs et des combinaisons d'ordinateurs varies. La premire phase a
consist rechercher un bon jeu de paramtres pour la mthode. On value
100 Mips anne la quantit de calculs faite pour cette phase, qui a dur
neuf semaines en utilisant une seule machine (de type 250 Mhz GI Origin
2000). Cette partie du calcul ne se laisse pas distribuer sur un rseau.
La seconde phase, qui a t distribue sur un rseau de 300 machines
rparties dans le monde entier, est aussi la plus coteuse en calcul. Elle a
fourni des relations qui sont au cur de la mthode. Un total de 124 millions
de relations a ainsi t engendr, dont 39 millions apparaissaient en double
( cause de la mthode de calcul distribu).
Le tri des relations et la prparation de la matrice du systme linaire
rsoudre ont t raliss au CWI, ce qui a demand un mois de travail. La
matrice rsultante comportait 6 699 191 lignes et 6 711 336 colonnes.
La rsolution du systme d'quations a alors demand 224 heures et 2 gigaoctets de mmoire centrale un ordinateur Cray C916, un ordinateur
vectoriel destin mener de trs gros calculs (par exemple en mtorologie),
calculs impossibles rpartir sur un rseau de machines moyennes.

108

PLS Page 108

personne ne dispose vraiment des


moyens de garantir srieusement aucun
des systmes largement utiliss.

ALTERNATIVE
QUANTIQUE?
L'usage de la cryptographie quantique,
dont la garantie ne repose pas sur des
conjectures mathmatiques, mais sur des
principes de physique fondamentale,
rsoudra peut-tre ce problme. La maturit de cette technique la rend utilisable
aujourd'hui pour les applications o l'metteur et le rcepteur ne sont pas loigns
de plus de cent kilomtres.
Un autre rsultat li aussi la mcanique quantique contribue rendre
encore plus mfiant vis--vis de la
cryptographie mathmatique. Peter Shor
a montr en 1994 qu'avec un ordinateur quantique on peut factoriser efficacement des nombres entiers. Si lon
russit construire de telles machines,
tout un pan de la cryptographie mathmatique sera dfinitivement compromis.
Les ordinateurs quantiques aujourd'hui
sont de simples fictions thoriques
dont la difficile mise au point devrait
demander des annes (si elle se rvle
possible) ; cependant, l encore, l'avance
possible de certains services secrets
n'est pas exclure et, si elle est rellement sensible, alors il se peut que pour
eux la factorisation des clefs de 1 024
bits ou de 2 048 bits du RSA soit devenue un jeu d'enfants. Gilles Brassard,
chercheur canadien renomm, pass de
la cryptographie mathmatique la
recherche sur les techniques quantiques,
remarque que la mcanique quantique
non seulement fait percevoir la fragilit
fondamentale de la cryptographie mathmatique, mais propose une solution pour
chapper aux incertitudes dont elle ne
russit pas se librer.
D BONEH, Twenty Years of Attacks on
the RSA Cryptosystem, in Notice of
the AMS (American Mathematical
Society), pp. 203-213, fvrier 1999.
D. BONEH et R. VENKATESAN, Breaking
RSA May Be Easier Than Factoring, Eurocrypt 1998, LNCS 1403, Springer-Verlag, pp. 59-71.
P. C. KOCHER, Timing Attacks on Implementations of Diffie-Hellman, RSA, DSSand
other Systems, Crypto 1996, LNCS 1109,
Springer-Verlag, pp. 104-113.
A.M. ODLYZKO, The Rise and Fall of Knapsack Cryptosystems, ATT Bell Laboratories, Murray Hill, 1990.
B. SCHNEIER, Cryptographie applique,
Thomson Publishing France, Paris, 1995.
J. STERN, La science du secret, Odile
Jacob, Paris, 1998.

POUR LA SCIENCE - N 267 JANVIER 2000

B C Y M