Décrypter du RSA

Signaler
Messages postés
5
Date d'inscription
lundi 16 octobre 2006
Statut
Membre
Dernière intervention
10 mai 2010
-
Messages postés
5
Date d'inscription
lundi 16 octobre 2006
Statut
Membre
Dernière intervention
10 mai 2010
-
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
75
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)
Messages postés
5
Date d'inscription
lundi 16 octobre 2006
Statut
Membre
Dernière intervention
10 mai 2010

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 ?