C Rendu 1

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 7

Implémentation d’un crypto

système RSA

Réalisé par : Encadré par :

-CHRINBOU Mouhsine M.YOUSSEFI

-BEN-SALEM Majda

Année universitaire : 2019/2020


Le but de ce TP :
 Implémentation d’un crypto système RSA.
 Connaitre le principe d’un module RSA.
 Comment générer des clés.
 Connaitre la méthode pour chiffrer et déchiffrer un message.

Le module RSA :
Le chiffrement RSA est asymétrique : il utilise une paire de clés (des nombres entiers)
composée d'une clé publique pour chiffrer et d'une clé privée pour déchiffrer des données
confidentielles. Les deux clés sont créées par une personne, souvent nommée par
convention Alice, qui souhaite que lui soient envoyées des données confidentielles. Alice rend
la clé publique accessible. Cette clé est utilisée par ses correspondants (Bob, etc.) pour
chiffrer les données qui lui sont envoyées. La clé privée est quant à elle réservée à Alice, et lui
permet de déchiffrer ces données. La clé privée peut aussi être utilisée par Alice
pour signer une donnée qu'elle envoie, la clé publique permettant à n'importe lequel de ses
correspondants de vérifier la signature.
Une condition indispensable est qu'il soit « calculatoirement impossible » de déchiffrer à
l'aide de la seule clé publique, en particulier de reconstituer la clé privée à partir de la clé
publique, c'est-à-dire que les moyens de calcul disponibles et les méthodes connues au
moment de l'échange (et le temps que le secret doit être conservé) ne le permettent pas.
Le chiffrement RSA est souvent utilisé pour communiquer une clé de chiffrement symétrique,
qui permet alors de poursuivre l'échange de façon confidentielle : Bob envoie à Alice une clé
de chiffrement symétrique qui peut ensuite être utilisée par Alice et Bob pour échanger des
données.

I. Fabrication du module RSA :


INPUT : la taille t de crypto système RSA.

OUTPUT : Deux nombres premiers de taille t.

-On prend un nombre p premier aléatoire dans l’intervalle [ 2𝑡−1 , 2𝑡 [.

-On prend un nombre q premier aléatoire dans l’intervalle [ 2𝑡−1 , 2𝑡 [.

-On prend n=p=q.

1) écrire un algorithme permettant de générer aléatoirement 2 nombres entiers p et q de taille t


bits.

rsa t=proc(t)

local b1,b2,m1,m2,p,q,n;

b1:=2𝑡−1 ;

b2:=2𝑡 ;

2
m1:=rand (b1..b2) ();

p1:=next prime (m1) ;

m2:=rand (b1..b2) ();

q: =next prime (m2);

n=p*q;

return (p,q,n);

end proc;

2)

Ecrire une procedure Maple pour produire 2 nombres entiers p et q ayant chacun t bits avec
p<q ainsi q’un module RSA n=pq.

3
3) Donner un module RSA de 1024 bits :

II. Génération des clés :


1)

INPUT : Deux nombres premiers p et q.

OUTPUT : une clé publique e et une clé privé d.

-On calcule phii= (p-1) (q1).

-On prend e un entier aléatoire dans l’intervalle [2, phii-1].

Tant que pgcd(e, phii)#1 Alors choisir un autre e.

Fin boucle

d = 𝑒 −1 𝑚𝑜𝑑( 𝑝ℎ𝑖𝑖);

4
2)

Ecrire une procedure Maple pour produire une clé publique e telle que phii(n)=(p-1)(q-1) et
gcd(e ;phii(n))=1 et son inverse d modulo phii(n) :

3)

On donne une clé publique et une clé privée pour un module RSA de 1024 bits :

5
III. Chiffrement d’un message :

Si M est un entier naturel strictement inférieur à n représentant un


message, alors le message chiffré sera représenté par l'entier
naturel C étant choisi strictement inférieur à n.

On écrit un algorithme permettant le cryptage d’un message clair M en message


chiffré C

On donne le message chiffré de M=12345 :

IV. Déchiffrement d’un message :

Pour déchiffrer C, on utilise d, l'inverse de e modulo (p – 1)(q – 1), et l'on


retrouve le message clair M par

6
Ecrire un algorithme permettant le décryptage d’un message crypté C en message
clair M

On déchiffre le message crypté M=12345

Conclusion :
En conclusion, La cryptographie moderne est basée sur les mathématiques pour sécuriser
l’information. On distingue deux types de protocoles cryptographiques : la cryptographie à clé
privée et la cryptographie à clé publique. Le principe de la cryptographie à clé publique
repose sur deux types de clés : une clé publique et une clé privée. Pour chiffrer un message,
on utilise la clé publique de son destinataire. Alors, seul le destinataire peut déchiffrer le
message reçu avec sa propre clé privée.

Le premier crypto système clé publique, appelé RSA. Ce crypto système est devenu le plus
répandu dans le monde car il est facile `a réaliser mais très difficile à casser. En effet, sa
sécurité repose sur l’un des problèmes les plus difficiles en mathématiques : la factorisation
des grands nombres.

Dans ce travail, nous avons appris les principes généraux du crypto système RSA en utilisant
des algorithmes programmés `a l’aide des systèmes de calcul Maple

Vous aimerez peut-être aussi