La «proglet» cryptageRSA.

Cliquer ici pour faire l'activité.
Cliquer ici pour lire le tutoriel.
Cette proglet permet de manipuler les concepts liés à l'encryptage/décryptage par clés publique et privée, RSA.
La cryptologie, science du secret, englobe la cryptographie — le codage secret d'un message — et la cryptanalyse — le décodage d'un message codé.
Le principe de la cryptographie consiste à définir une transformation des symboles d'un langage (les lettres ou les mots par exemple) qui soit difficilement inversible, de telle sorte que retrouver le mot original à partir du mot codé devienne une opération difficile à effectuer.
Il existe deux grandes familles d'algorithmes de cryptographie : les algorithmes symétriques (à clé secrète) et les algorithmes asymétriques (à clé publique). Le système RSA est un système de cryptographie à clé publique donc asymétrique.
L'intérêt de cette manipulation est de faire passer la non-symétrie du processus: autrement dit, tout le monde peut encrypter (par la clé publique), mais seule une personne pourra décrypter (à l'aide de la clé privée).
Pour manipuler les notions et outils du cryptage, il faut utiliser la construction javascool. Toutes ces fonctions sont accessibles par l'interface, ou par des fonctions programmable:

// Créer une clé privée et une clé publique pour le codage et décodage de messages:

BigInteger keys[] = createKeys()
où:

// Encrypter un message à l'aide d'une clé (publique):

BigInteger crypt = encrypt(String message, BigInteger pk1, BigInteger pk2)
où:

// Décrypter un message à l'aide de clés:

String message = decrypt(BigInteger crypt, BigInteger[] keys)
où:
Un exemple d'utilisation se fait lors du lancement de la proglet avec une fenêtre d'interaction.
Un exemple de programme d'utilisation est disponible ici.
Cette «proglet» est un composant logiciel ouvert dont documentation et code-source sont disponibles ici