Mon programme encrypte les fichiers avec l'algorithme d'encryptions rsa, mais en utilisant java sécurité uniquement pour générer des nombre aléatoire. Il aide à la gestion des utilisateurs et encrypte(ou exclusif) les clées privé.
J'ai fais ce programme dans un plus pédagogique qu'utilitaire, les class dans le package java sécurité sont surement plus efficace.
n.b. : la class RSA a été prise sur se cite http://www.cs.princeton.edu/introcs/104crypto/RSA. java.html
mais je l'ais modifier pour l'améliorer et l'adapter à mon application
Comment RSA fonctionne:
Pour l'encryptions,
//les clés public
publicKey = privateKey modulo inverse de (pr1 - 1) * (pr2 - 1)
modulo = pr1 * pr2
//les clés privé
//nombres premier(divisible uniquement par un et eux-même) les plus grand possible
pr1
pr2
privateKey:
* 1. n'a aucun autre diviseur que 1
* 2. qu'il est plus grand que p1 et p2
* 3. qu'il est plus petit que p1*p2
pour l'encryptions on coupe le message en bout et on le transforme en numérique.
sur chaque bout n on effectue l'opération suivante
n^publicKey mod modulo
La publicKey étant la clé public du destinataire.
Pour la décryptions
pour chaque bout n on effectue l'opération suivante
n^privateKey mod modulo
privateKey étant la clé privé du destinataire.
Pour plus de détailles: http://fr.wikipedia.org/wiki/Rivest_Shamir_Adleman