La méthode de cryptographie RSA

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 publique 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 un applet donnant des listes de nombres premiers.

La méthode RSA : document pdf.

[ rsacle.java | rsacode.java | rsadecode.java | listenp.java [ retour ]

Remarque : pas de limitations dans la taille des entiers.

La clé du second applet est publique. Il 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=97x109, 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)
Alice reçoit le message de Bob (on peut faire un copier/coller à partir de l'applet 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.