@@ -56,17 +56,15 @@ On peut donc en déduire que si le PGCD de deux entiers relatifs _a_ et _b_ est
#### Inverse modulaire
L'inverse modulaire est une notion qui nous sert à calculer la clé privée du chiffrement RSA que nous verrons par la suite.
Définition : l'inverse modulaire d'un entier relatif _a_ dans les modulo _n_ est un entier _u_ satisfaisant l'équation suivante :
L'inverse modulaire est une notion qui nous sert à calculer la clé privée du chiffrement RSA que nous utiliserons par la suite. Définition : l'inverse modulaire d'un entier relatif _a_ dans les modulo _n_ est un entier _u_ satisfaisant l'équation suivante :
$au \equiv 1 \pmod{n}$
L'inverse modulaire pour entier relatif _a_ dans les modulo _n_ existe seulement quand $PGCD(a, n) = 1$
L'inverse modulaire pour entier relatif _a_ dans les modulo _n_ existe seulement quand $PGCD(a, n) = 1$, autrement dit _a_ et _n_ doivent être premiers entre eux.
On peut donc calculer l'inverse modulaire avec :
$PGCD(a, n) = au + ny$
$PGCD(a, n) = au + ny$ (théorème de Bachet-Bézout)
$au \equiv 1 \pmod{n}$
...
...
@@ -118,7 +116,7 @@ La clé publique se compose de deux variables, la variable _e_ et _n_ qui sont u
$n = pq$
$d = e^{-1} \pmod{(p-1)(q-1)}$
$d = e^{-1} \pmod{(p-1)(q-1)}$ (il existe forcement un inverse modulaire car _e_ et $(p-1)(q-1)$ sont premiers entre eux)
Pour chiffrer les données _x_ avec RSA, il faut utiliser la formule suivante : $x^e \pmod{n}$
...
...
@@ -126,7 +124,7 @@ Pour déchiffrer les données _y_ avec RSA, il faut utiliser la formule suivante
### Méthode de résolution
Dans cette section nous allons séparé notre raisonnement en 4 étapes.
Dans cette section nous allons séparé notre raisonnement en 4 étapes. Dans la première étape on cherches à trouver _p_ et _q_ en fonction de _n_, la deuxième étape consiste à calculer la clé privée (variable _d_), la troisième a déchiffrer le message et finalement la dernière étape reconstitue le message en décodant les données en UTF-8.
#### Étape 1 : trouver les variables _p_ et _q_ en fonction de _n_
...
...
@@ -136,7 +134,7 @@ Pour trouver _p_ et _q_, il faut soit trouver _p_ soit _q_ car s'il on trouve _
Donc nous voulons trouver seulement _p_, pour ce faire nous essayons de diviser _n_ par tout les nombre entre 2 et $\sqrt{n}$ et nous allons forcement trouver _p_ car il est obligé d'exister. Nous nous permettons d'utiliser la force-brute car on travaille sur un RSA-32 (32 bits), _p_ et _q_ font 16 bits chacun, la valeur maximale d'un nombre 16 bits est $2^{16} - 1 = 65535$ donc si 65535 est nombre premier on fera au maximum 65535 tours de boucle sachant que 65535 n'est pas un nombre premier notre programme fait moins de tout manière mois de 65535 itérations pour trouver _p_.
Dans notre cas nous avons trouvé $p = 38039$ et donc que $q = \frac{1653973759}{38039} = 43481$
Dans notre cas nous avons trouvé $p = 38039$ et $q = \frac{1653973759}{38039} = 43481$
#### Étape 2 : calculer la clé privée (variable _d_)