Décrypter du RSA

cs_petit chat Messages postés 5 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 10 mai 2010 - 9 mai 2010 à 19:51
cs_petit chat Messages postés 5 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 10 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

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
10 mai 2010 à 09:24
Salut
D'après ce que je viens de lire, tu peux faire une boucle :
Rechercher 'd' jusqu'à ce que
(e * d) Mod ((p - 1) * (q - 1)) = 1

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_petit chat Messages postés 5 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 10 mai 2010
10 mai 2010 à 16:07
Salut Jack
D'abord merci pour l'intérêt que tu porte à ce problème et pour ta réponse.

1- J'en conclus que d est bel et bien une inconnue
2- donc qu'il faut trouver d à partir de p et q.

en continuant les recherches je suis arrivé ici http://www.commentcamarche.net/contents/crypto/rsa.php3 où il est confirmé que p et q sont bien dans la clé privée.

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 ?
0
Rejoignez-nous