TP/Projet : L’algorithme RSA
Introduction
Dans ce TP/Projet nous allons impl´ementer l’algorithme RSA.
Le syst`eme de chiffrement RSA a ´et´e invent´e par trois math´ematiciens :
Ron Rivest, Adi Shamir et Len Adleman, en 1977.
L’algorithme RSA est un outil puissant permettant de chiffrer des don-
n´ees personnelles. Il est aujourd’hui l’algorithme de chiffrement le plus utilis´e
(cartes bancaires, transactions, messageries, ...).
Ce TP/Projet ca s’organiser en trois partie :
— G´en´eration des cl´es.
— Chiffrement.
— D´echiffrement.
Le r´esultat attendu est le mˆeme que la d´emonstration faite en cours. Le
choix du langage est laiss´e libre mais une pr´ef´erence est donn´ee au langage
C.
Rappel du cours sur le fonctionnement global
Cr´eation des cl´es
1. Choisir deux nombres premiers pet q.
2. Calculer n=p∗qet φ= (p−1)(q−1)
3. Choisir epremier avec φ
4. Calculer d, inverse de emodulo φ(utliser l’algorithme d’euclide ´etendu).
Le couple (n, e) est la cl´e publique, et le couple (n, d) est la cl´e priv´ee.
Les cofficients de B´ezout
Etienne B´ezout a d´emontr´e que deux nombres a et b sont premiers entre
eux, si et seulement s’il existe des solutions u et v telles que a∗u+b∗v= 1
(avec uet ventiers). Dans notre cas, φet esont premiers entre eux, nous
cherchons donc udans l’´equation e∗u+φ∗v= 1. Ces valeurs sont appel´ees
coefficients de B´ezout.
1