La méthode de cryptographie RSA

rsa.png

Ce premier applet fournit à Alice le produit n de deux nombres premiers différents p et q et propose un exposant e premier avec (p-1)(q-1), ainsi qu'un nombre d. Elle rendra publiques n et e et gardera pour elle l'exposant d qui est sa clé privée.

Pour récupérer des valeurs de p et q une application donnant des listes de nombres premiers.

La méthode RSA : document pdf.

Remarque : pas de limitations dans la taille des entiers.

rsacode.png

La clé de la seconde application est publique. Elle permet à Bob de coder des messages en utilisant n et c.

La touche maj met à jour les deux champs concernés.

Dans le premier cadre on entre le message à coder (tout est converti en majuscules et les accents sont ignorés).

Dans le second cadre apparaît le rang de chaque lettre 01 pour A, 02 pour B, 26 pour Z et 27 pour l'espace.

Si n est grand on peut regrouper les chiffres du cadre 1 à condition de vérifier que la taille des nombres obtenus ne dépassent pas n.

Exemple si n = 10573 = 97 x 109, on peut regrouper les chiffres par 4 (résultats garantis de 0 à 9999 donc inférieurs à 10573).

Préciser ce nombre dans le champ nb ; attention si le groupement est trop grand relativement à n le décodage ne peut plus se faire.

Dans le troisième cadre on trouve la suite de nombres que Bob peut envoyer à Alice.

(bouton x pour effacer les trois cadres quand on veut faire des essais avec d'autres valeurs)

rsadecode.png

Alice reçoit le message de Bob (on peut faire un copier/coller à partir de l'application précédent pour éviter de retaper la liste de nombres) et renseigne les champs n, d et nb. Elle retrouve ainsi le message de Bob.

Le codage et le décodage marchent aussi si on inverse les clés c et d.

Ainsi Alice pour signer un document envoie un message codé avec sa clé privée d au lieu de c. Bob pourra alors décoder la signature en utilisant la clé publique c et saura ainsi que l'Alice est bien l'auteure du message.

[ rsa.jar | rsa.java | retour ]