Garçon devant un ordinateur.jpg
Hollie Little Pink Laptop.jpg
À propos • Aide • Le Livre d'or
Les lecteurs de Vikidia demandent des articles en plus. Voyez la liste d'articles à créer, et venez nous aider à les rédiger !

Discussion:Chiffrement RSA

Aller à la navigation Aller à la recherche

pgcd (φ (n) ; e) = 1 ⇔ e = 5.

Dans ce cas, doit-on choisir absolument la plus petite valeur de "e"(parmi les résultats qui donne 1) ?

Non, ce n'est pas indispensable. Choisir e peut être intéressant dans la mesure où, de manière générale, plus il est petit, plus d est grand : si l'on veut que d ne soit pas trop grand (si l'on dispose d'une puissance de calcul très limitée, par exemple : sur calculatrice programmable, choisir p et q est un calvaire, parce qu'on ne veut pas de n , de e ni de d trop grands Mort de rire), il faut choisir un e plus grand. Mais quoi qu'il en soit, on ne doit pas choisir absolument la plus petite valeur. Thilp ! ? 5 novembre 2008 à 19:13 (UTC)

Ici, le détail de l'opération n'est pas donné ; en effet, 3101572461 est un nombre si énorme (31015 multiplié par lui-même 72461 fois !) que la calculatrice Windows refuse de donner le résultat ("Entrée fonction incorrecte"). Il en va de même pour le logiciel de calcul formel utilisé (Maxima). Cependant, il ne faut jamais baisser les bras : le résultat de 3101572461 mod. 363509 nous est donné ... par une simple calculatrice programmable (beaucoup moins puissante qu'un ordinateur) ! Comment est-ce possible ?

Explication : pour une clarté la plus grande possible, nous avons choisi d'afficher dans cet article tous les résultats intermédiaires de nos calculs. Alors, quand on demande à l'ordinateur "Combien vaut 3101572461 mod. 363509 ?", celui-ci calcule 3101572461, puis applique le modulo au résultat obtenu ; nous avons vu qu'il ne pouvait pas afficher ce résultat, il est donc dans l'incapacité de résoudre ce calcul. C'est parce que nous nous y prenons mal ! La calculatrice parvient à nous donner 2209 car elle ne le calcule pas directement, comme l'a tenté l'ordinateur. Il suffit de créer un programme adéquat, et elle résout les opérations selon ce programme. Comme c'est assez compliqué, nous dirons simplement que la méthode utilisée ici par la calculatrice s'inspire de l'exponentiation modulaire. Le résultat, si le programme est correct, est calculé en 3 secondes, tandis que Maxima y est depuis plus d'une demi-heure et n'a rien trouvé !

Quelqun aurait-il un programme a proposer  ?

Un programme à proposer ? Je ne connais pas, pour ma part, de programme "tout fait" qui puisse calculer ce genre de congruences. Je peux bien te proposer le mien, celui que j'ai utilisé pour l'exemple que tu cites, mais en quel langage le veux-tu ? La calculatrice Casio Graph 65 (la mienne) comprend un langage dérivé du Basic, le Casio Basic, mais si tu ne disposes pas de cette calculatrice, il vaudrait mieux que tu l'aies en C ou en Python ... Puis-je te demander quel est ton système d'exploitation ? Ce genre de programmes doit bien pouvoir se trouver sous Windows, et tu pourrais facilement exploiter du code que j'afficherais ici si tu es sous Linux ... En revanche, si tu utilises Mac ... Confusion je ne peux plus t'aider !
Si tu connais, même un peu, la programmation, tu pourras sans doute, comme je l'ai fait, adapter à tes besoins le code fourni par l'article de Wikipédia : [1].
Quoi qu'il en soit, n'hésite pas à me répondre ou à me demander de l'aide ! Clin d'œil Thilp ! ? 30 novembre 2008 à 18:00 (UTC)

Merci de ta réponse Thilp ^^" Je suis sous windows (xp), et je n'ai aucune notion en programmation

Encore une question désolé x) Dans l'exemple a 2048 bit, la deuxième partie de la clef privée est " d " au lieu de " e ", une erreur ?

Comment ça, désolé ? C'est avec les questions que l'on change le monde !surtout que je suis là pour y répondre Content Ce n'est pas une erreur. Effectivement, d joue le même rôle lors du décryptage que e lors du cryptage. Mais comme ce ne sont pas les mêmes nombres, on ne peut pas les appeler pareil ! e, c'est sans doute pour « exposant » ; mais pourquoi d ? Je l'ignore Mort de rire c'est comme une habitude prise, tout le monde dit d.
Pour ce qui est de Windows, je m'en doutait (d'après XiTi Monitor, environ 75 % des visites Internet proviennent d'un Windows XP). Et c'est très bien : je vais regarder un peu s'il n'y a pas moyen de trouver un petit programme gratuit qui fera ça, sinon, je le coderai moi-même bonjour les dégâts Diable. De ton côté, tu peux rechercher ce genre de choses. Pour t'aider dans ta recherche : le programme que tu veux effectue ce qu'on appelle exponentiation modulaire. Surtout, si tu trouves quelque chose, n'oublie pas de l'analyser avec un antivirus (puisque tu es sur Windows, tu en as un ... enfin, j'espère pour toi Clin d'œil) ! Bonne chance, Thilp ! ? 1 décembre 2008 à 16:08 (UTC)

e ...[modifier le wikicode]

e signifie ... exponentiel ... on apprend cela en classe de terminal ... pour "d" par contre la ... la valeur de e est constante: ~2.71828... en espérant vous avoir aidés, tous les deux :P . Vivi-1 (d • c | B • P • S) 2 décembre 2008 à 11:11 (UTC) PS: merci de signer avec ~~~~)

Mercii !! hem on dira que je ne suis pas en Terminale, hein Mort de rire
Non mais je suis pas sûr (et même pas du tout) que l'exponentielle ait quoi que ce soit à voir avec l'exponentiation modulaire, en fait Mort de rire. e est un nombre, oui « e est un nombre transcendant qui vaut e = 2,718281828 » (Wikipédia), mais ici non : on l'utilise comme variable ; c'est la même pour d. Donc, armé de ces considérations pythagoriciennes, je maintiens ma position en faveur du « e = exposant ≠ exponentiel », parce qu'on écrit be mod. m, où e joue le rôle d'exposant Content Thilp ! ? 2 décembre 2008 à 19:20 (UTC)