cs_petit chat
Messages postés5Date d'inscriptionlundi 16 octobre 2006StatutMembreDernière intervention10 mai 2010
-
9 mai 2010 à 19:51
cs_petit chat
Messages postés5Date d'inscriptionlundi 16 octobre 2006StatutMembreDernière intervention10 mai 2010
-
10 mai 2010 à 16:07
Bonjour à toutes et tous,
Mon soucis est de mettre au point un algo qui décrypte un message chiffré en RSA. Alors je récapitule, dites moi quand je me trompe.
- Je dispose d'une autorité de certification et de certificats pour le serveur qui crypte et le client qui décrypte.
- Le serveur utilise sa clé publique (n,e) pour chiffrer, n étant le modulus et e l'exposant. Ces valeurs apparaissent en clair dans le certificat.
- d'après mes cours et Wikipédia (cette page) on a:
clé publique: (n,e)
clé privée: (p,q,d) (d'après mon cours) ou (n,d) (d'après wikipédia).
Cela a l'air de revenir au même vu qu'on peut exprimer n en fonction de p et q:
n=pq
Le chiffrement à l'air (théoriquement) facile: il "suffit" de récupérer (n,e) dans le certificat et pour obtenir le chiffré c à partir du message m on fait:
c=m^e mod(n)
Pour le décryptage, c'est à dire trouver m à partir de c, on calcule:
m= c^d mod(n)
D'où la nécessité d'avoir d... mais j'arrive pas à comprendre comment ???
peut on trouver d dans la clé privée du client ? Doit on calculer d à partir de p et q et, si c'est le cas, comment (et où ?) trouver p et q ?
Merci d'avance de l'attention que vous aurez porté à ce message et pour vos réponses.
miou
Je cherche maintenant comment récupérer p et q
P'tet ben à partir du fichier client.key, la clé privée du client... ? Si c'est la cas je me demande comment ?