Vous êtes sur la page 1sur 3

Algorigramme de la création de la clé privée

Début

Entrez les
nombres
entiers
N,R et E.

Fonction Bezout
Trouver D et V, selon le
théorème de Bézout :
ED + RV =1

Fonction BezoutRSA
Équilibrer
l’équation obtenue
De sorte à ce que :
1<D=<R

Affichage
Clé privée
(N ; D)

Fin
Fonction de Bezout

Pour calculer D on s’appuie sur le théorème de Bézout qui nous dit que ed + rv = 1
ici, on prendra av + bu = 1 (par soucis de disponibilité: la valeur r est déjà utilisée pour les restes).

La fonction s’assure d’abord que a est le plus grand des deux nombres car on aura besoin de diviser
a par b par la suite.

Ensuite, elle initialise les listes r (les restes), q (le quotient), u (inconnue u) et v (inconnue v) ainsi
que la valeur i qui nous servira pour compter le nombre de tour à chaque boucle.

La suite de la fonction est un algorithme d’Euclide étendu :

Tant que le dernier reste (r) n’est pas égal à 0:

On ajoute 1 tour au compteur de tour (i)

On ajoute à la liste q le quotient de l’avant dernière valeur par la dernière de r

On ajoute à la liste r le reste de l’avant dernière valeur par la dernière valeur de r

On ajoute à la liste u la différence de l’avant dernière valeur de u avec la multiplication des


dernières valeurs de q et u.

On ajoute à la liste v de l’avant dernière valeur de q avec la multiplication des dernières


valeurs de q et v.

Une fois le dernier reste obtenu, on obtient les valeurs recherchés puisque

• D (V dans l’algorithme) est égal à l’avant dernière valeur de la liste v.

• V (U dans l’algorithme) est égal à l’avant dernière valeur de la liste u.

Problème de cette fonction :

Une fois nos valeurs trouvés nous allons faire face à un problème, pour certains couple P et Q on
obtient un D , OR le chiffrement RSA ne marche qu’avec un D strictement positif. Il faut donc
remédier à ce problème en équilibrant l’équation de la forme ED + RV = 1 précédemment obtenue.

Fonction Bezout RSA (répondant au problème de la fonction Bezout) :


La fonction Bézout RSA adapte la fonction Bézout aux nécessités du chiffrement RSA en
équilibrant une équation de la forme ED + RV = 1 qui comporterait un D négatif.

La fonction est plutôt simple, tant que d n’est pas compris dans entre 1 et r, on ajoute r jusq’à ce
qu’il rentre dans l’intervalle.
On aura alors une valeur négative pour V mais V n’est pas utile à l’algorithme.

A _ Exemples de Création des clés avec l’algorithme chiffrementrsa.py