Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Besoin d'aide pour la Cryptographie en RSA svp | |
| | Auteur | Message |
---|
jimx78
Nombre de messages : 241 Age : 33 Localisation : Yvelines Date d'inscription : 24/05/2010
| Sujet: Besoin d'aide pour la Cryptographie en RSA svp Jeu 15 Oct 2015 - 22:52 | |
| Bonsoir, J'aimerais crypter des document avec l'algorithme RSA. http://sebsauvage.net/comprendre/encryptage/crypto_rsa.htmlQuand je veux crée une paire de clef, dans l'exemple, a un moment je dois calculer d sois : - Code:
-
On choisit d tel que 71*d mod 1008 = 1
On trouve d = 1079 En panoramic j'ai la fonction mod(X, Y) ou cela dois donner le reste de la division entière de X / Y. Pourtant la formule est UNE_VALEUR mod UNE_AUTRE_VALEUR sur panoramic Note : 1008 est (29-1)(37-1) = 1008 Comment obtenir le résultat d = 1079 avec 71*d mod 1008 = 1 ? Merci d'avance de m'aider
Dernière édition par jimx78 le Jeu 15 Oct 2015 - 22:55, édité 1 fois | |
| | | jimx78
Nombre de messages : 241 Age : 33 Localisation : Yvelines Date d'inscription : 24/05/2010
| Sujet: Re: Besoin d'aide pour la Cryptographie en RSA svp Jeu 15 Oct 2015 - 22:54 | |
| 2eme question, comment avoir le PGCD en panoramic pour un nombre ? | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Besoin d'aide pour la Cryptographie en RSA svp Ven 16 Oct 2015 - 1:14 | |
| En arithmétique élémentaire, Le plus grand commun diviseur, PGCD, de deux nombres entiers naturels est le plus grand entier naturel qui divise simultanément ces deux entiers. Le plus petit commun multiple PPCM de deux entiers non nuls est le plus petit entier strictement positif qui soit à la fois multiple de ces deux nombres. Par exemple Le PGCD de 42 et 56 est 14. Le PPCM de 42 et 56 est 168. - Code:
-
rem ============================================================================ rem Calcul du PGCD et du PPCM de deux entiers rem ============================================================================
dim PGCD%,PPCM%,n1%,n2% n1% = 42 : n2% = 56 PGCD_PPCM(n1%,n2%) print "PGCD(" + str$(n1%) +","+str$(n2%)+") = " ; pgcd% print "PPCM(" + str$(n1%) +","+str$(n2%)+") = " ; ppcm% end rem ============================================================================ SUB PGCD_PPCM(n1%,n2%) dim_local n3%,n4%,n5% n4% = n1% : n5% = n2% while n2% > 0 n3% = n1% : n1% = n2% : n2% = n3% - n1% * int(n3%/n1%) end_while PGCD% = n1% if PGCD% <> 0 then PPCM% = (n4%*n5%)/PGCD% END_SUB rem ============================================================================
| |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Besoin d'aide pour la Cryptographie en RSA svp Ven 16 Oct 2015 - 12:19 | |
| Bonjour jimx78, - jimx78 a écrit:
- Comment obtenir le résultat d = 1079 avec 71*d mod 1008 = 1 ?
Tu as: dividende=71*d diviseur=1008 quotient=q reste=1 ton équation devient: 71*d=(1008*q)+1 donc: (71*d)-(1008*q)=1 ou bien : (71*d)+(1008*(-q))=1 On se retrouve avec une équation de la forme 'ax + by = 1'(nb: 71 et 1008 ont été choisis parceque PGCD(71,1008)=1) Le théorème de Bachet-Bézout ou identité de Bézout, prouve l'existence de solutions à l'équation linéaire : ax + by = pgcd(a, b) Ca tombe bien, puisque tu veux que '(71*d)+(1008*(-q)) soit toujours égal à 1', tu peux dire: (71*d)+(1008*(-q))=PGCD(71,1008) et ça, ça se résout avec L'algorithme d'Euclide étendu - Code:
-
' Algorithme d'Euclide étendu ' Permet, à partir de deux entiers a et b, de calculer non seulement leur plus grand commun ' diviseur(PGCD), mais aussi UN de leurs couples de coefficients de Bézout (deux entiers ' u et v tels que au + bv = PGCD(a, b)). ' https://fr.wikipedia.org/wiki/Algorithme_d%27Euclide_%C3%A9tendu
dim a,b dim q,r0,u0,v0,r1,u1,v1 dim rs,us,vs
label calcul
a=120 : b=23 gosub calcul print "p=",a," q=",b," ---> d=",b+u0 print "(",a,"*",b+u0,")-(",b,"*",a-v0,") = ",((a*(b+u0))-(b*(a-v0))) print
a=71 : b=1008 gosub calcul print "p=",a," q=",b," ---> d=",b+u0 print "(",a,"*",b+u0,")-(",b,"*",a-v0,") = ",((a*(b+u0))-(b*(a-v0)))
END calcul: r0=a : u0=1 : v0=0 r1=b : u1=0 : v1=1
while r1>0 q=int(r0/r1) rs=r0 : us=u0 : vs=v0 r0=r1 : u0=u1 : v0=v1 r1=rs-(q*r1) : u1=us-(q*u1) : v1=vs-(q*v1) end_while ' print r0," ",u0," ",v0 print "pgcd=",r0 ' print "(",a,"*",u0,")+(",b,"*",v0,")" return
Voila voila; pour info je ne suis pas un matheux, j'ai fait ces recherches il y a qq temps car j'ai eu le même pb que toi. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Besoin d'aide pour la Cryptographie en RSA svp Ven 16 Oct 2015 - 12:42 | |
| - Code:
-
rem ============================================================================ rem Algorithme d Euclide étendu rem ============================================================================ rem Lalgorithme d Euclide étendu est une variante de l algorithme d Euclide qui rem permet, à partir de deux entiers a et b, de calculer non seulement leur plus rem grand commun diviseur (PGCD), mais aussi un de leurs couples de coefficients rem de Bézout (deux entiers u et v tels que au + bv = PGCD(a, b)). rem Quand a et b sont premiers entre eux, u est alors l inverse pour la rem multiplication de a modulo b (et v est de la même façon l inverse modulaire rem de b, modulo a), ce qui est un cas particulièrement utile. rem ============================================================================
Euclide(71,1008) end rem ============================================================================ ' Entrée : a, b entiers (naturels) ' Sortie : r entier (naturel) et u, v entiers relatifs tels que ' r = pgcd(a, b) et rprime = a*u+b*v
SUB Euclide(a,b) if variable("r") = 0 then dim r if variable("u") = 0 then dim u if variable("v") = 0 then dim v if variable("d") = 0 then dim d dim_local q,rs,us,vs,rprime,uprime,vprime ' Initialisations r = a : rprime = b : u = 1 : v = 0 : uprime = 0 : vprime = 1 ' les égalités r = a*u+b*v et rprime = a*uprime+b*vprime sont des invariants de boucle while rprime <> 0 q = int(r/rprime) rs = r : us = u : vs = v r = rprime : u = uprime : v = vprime rprime = rs - q*rprime : uprime = us - q*uprime : vprime = vs - q*vprime end_while d = b+u print "Avec les valeurs : a = " + str$(a) + " et b = "+str$(b) print "r = PGCD(a,b) = " + str$(r) print "u = " + str$(u) print "v = " + str$(v) print "a*u+b*v = " + str$(a*u+b*v) print "d = b+u = " + str$(d) END_SUB rem ============================================================================
Edité une fois pour correction d'une erreur d'affichage.
Dernière édition par papydall le Ven 16 Oct 2015 - 14:38, édité 1 fois (Raison : Correction d'une erreur d'affichage) | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Besoin d'aide pour la Cryptographie en RSA svp Ven 16 Oct 2015 - 14:18 | |
| Wouah, j'admire nos 2 matheux ... Merci pour lui à tous les 2. Ca parait simple quand on vous lit... | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Besoin d'aide pour la Cryptographie en RSA svp Ven 16 Oct 2015 - 14:42 | |
| Merci "admirateur Jicehel" | |
| | | jimx78
Nombre de messages : 241 Age : 33 Localisation : Yvelines Date d'inscription : 24/05/2010
| Sujet: Re: Besoin d'aide pour la Cryptographie en RSA svp Sam 17 Oct 2015 - 8:34 | |
| Wow merci à tout les deux !
Je regarderai ca dimanche.
Un grand merci.
Pourquoi à tu eu le même problème que moi ? Tu a coder en RSA ? | |
| | | jimx78
Nombre de messages : 241 Age : 33 Localisation : Yvelines Date d'inscription : 24/05/2010
| Sujet: Re: Besoin d'aide pour la Cryptographie en RSA svp Sam 17 Oct 2015 - 8:43 | |
| La fonction modulo sur panoramic ne fonctionne pas alors ? Car j'ai l'impression que l'on réalise nous même la fonction modulo ? | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Besoin d'aide pour la Cryptographie en RSA svp Sam 17 Oct 2015 - 12:34 | |
| Bonjour jimx78 La fonction modulo fonctionne parfaitement en Panoramic. Sa syntaxe est : - Code:
-
X = MOD(a,b)
Ça retourne le reste de la division de a par b Exemple : - Code:
-
print mod(132,35) : ' ---> 27 Print mod(12,3) : ' --- > 0 print mod(29,5) : ' -----> 4
Remarque : le résultat est toujours compris entre 0 (zéro inclus) et b (exclu) | |
| | | jimx78
Nombre de messages : 241 Age : 33 Localisation : Yvelines Date d'inscription : 24/05/2010
| Sujet: Re: Besoin d'aide pour la Cryptographie en RSA svp Lun 19 Oct 2015 - 12:17 | |
| | |
| | | Contenu sponsorisé
| Sujet: Re: Besoin d'aide pour la Cryptographie en RSA svp | |
| |
| | | | Besoin d'aide pour la Cryptographie en RSA svp | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |