4 Le principe du R.S.A (Appendice au T.P. 8)
4.1 Pr´erequis math´ematiques : la fonction ϕd’Euler
Nous avons d´emontr´e en exercice le r´esultat suivant :
Th´eor`eme : Si (G, ˙
)est un groupe ab´elien fini `a n´el´ements alors pour tout x∈G, on a xn=e.
Nous avions vu que ce th´eor`eme, appliqu´e `a G=Z/pZ∗pour pun nombre premier donne
imm´ediatement le petit th´eor`eme de Fermat. Nous allons voir ici une g´en´eralisation.
a) Pour tout n∈N∗, on note ϕ(n)le nombre d’entiers k∈[[1, n]] tels que k∧n=1.
i) Calculer ϕ(p)si pest premier.
ii) Relier ϕ(n)au nombre d’´el´ements inversibles de l’anneau (Z/nZ,+,×)(avec d´em.).
iii) En d´eduire la propri´et´e suivante, due `a Euler :
∀a∈Z,∀n∈N∗, a ∧n=1⇒aϕ(n)≡1[n]
iv) Quel r´esultat connu la question pr´ec´edente g´en´eralise-t-elle ?
b) i) Montrer que si a∧b=1 alors ϕ(ab)=ϕ(a)ϕ(b)(plus difficile !)
ii) Montrer que si pet qsont deux nombres premiers distincts, alors pour tout apremier
avec pq, on a a(p−1)(q−1)≡1[pq].
iii) On garde les hyp. du b).
Soit e∈N∗premier avec (p−1)(q−1)et soit d∈N∗tel que de ≡1[(p−1)(q−1)].
Justifier l’existence de l’entier det montrer que ade ≡a[pq].
4.2 Cryptage de Rivest, Shamir, Adleman (1978)
4.2.1 La fabrication de la cl´e de codage : sa partie publique, sa partie secr`ete
Dans la m´ethode R.S.A., il y a deux personnes dont les rˆoles sont bien distincts. Nous parlerons
d’un chef et d’un subordonn´e, le subordonn´e devant transmettre des messages chiffr´es (i.e. prot´eg´e
par un code secret) au chef.
Le chef choisit deux nombres premiers pet q(assez grands, disons de 150 chiffres chacun en
base 10). Il calcule le produit n=pq (c’est facile pour un ordinateur : pour des nombres de 100
chiffres, cela ne fait que 10000 op´erations, et un ordi en fait 1011 par secondes), puis le nombre
(p−1)(q−1).
Il choisit ensuite un nombre epremier avec (p−1)(q−1).
Question 1 Pourquoi est-ce facile `a faire ?
Il rend alors publique la cl´e R.S.A. i.e. les nombres net e, mais surtout pas les nombres pet q.
Il calcule de son cˆot´e, un nombre dtel que de ≡1[(p−1)(q−1)].
Question 2 Comment peut-on le faire en pratique ?
On notera que cela n´ecessite de connaˆıtre le nombre (p−1)(q−1)=pq −q−p+1 (ce qui revient `a
connaˆıtre pet q). Pour cela, si on n’est pas le chef, il suffirait de factoriser n. Mais, tout le principe
de la m´ethode R.S.A. est : il est trop compliqu´e de d´ecomposer nen facteur premier, mˆeme pour
un ordinateur !
A ce stade, le chef a une cl´e secr`ete qui est (n, p, q, e, d)avec n=p×qet il a rendu publique
(pour quiconque veut lui envoyer des messages) une partie de la cl´e : (n, e).
4.2.2 Comment un subordonn´e peut envoyer des messages au chef ?
Le message est repr´esent´e par un nombre. Ce nombre est d´ecoup´e en paquets de chiffres suc-
cessifs, pour que chaque paquet d´efinisse un nombre inf´erieur `a l’entier nd´efini par la cl´e publique.
Pour chaque paquet m, le subordonn´e calcule m′=meet envoie m′au chef.
4.2.3 Comment le chef peut d´ecoder le message re¸cu ?
Le chef est le seul `a connaˆıtre d, il calcule m′dmodulo n, et il retombe sur le message original
m.
4