FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Calculatrice
par papydall Hier à 22:45

» Orbites de l’ensemble de Mandelbrot
par Minibug Hier à 21:32

» Planétarium virtuel.
par Pedro Alvarez Hier à 17:07

» Demande pour Jack concernant PanExpress
par Minibug Hier à 11:04

» EPP_V01 éditeur pour Panoramic
par Minibug Mer 19 Sep 2018 - 21:03

» [RESOLU] Quelle ligne est sélectionnée dans SYNEDIT ?
par Jean Claude Mer 19 Sep 2018 - 21:02

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Mer 19 Sep 2018 - 15:58

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 Besoin d'aide pour la Cryptographie en RSA svp

Aller en bas 
AuteurMessage
jimx78

avatar

Nombre de messages : 240
Age : 26
Localisation : Yvelines
Date d'inscription : 24/05/2010

MessageSujet: 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.html

Quand 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jimx78

avatar

Nombre de messages : 240
Age : 26
Localisation : Yvelines
Date d'inscription : 24/05/2010

MessageSujet: 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 ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5993
Age : 68
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: 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 ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
silverman

avatar

Nombre de messages : 675
Age : 46
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: 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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5993
Age : 68
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: 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)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5929
Age : 46
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Besoin d'aide pour la Cryptographie en RSA svp   Ven 16 Oct 2015 - 14:18

Wouah, j'admire nos 2 matheux ... Wink Merci pour lui à tous les 2. Ca parait simple quand on vous lit...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5993
Age : 68
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Besoin d'aide pour la Cryptographie en RSA svp   Ven 16 Oct 2015 - 14:42

Merci "admirateur Jicehel" sunny
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
jimx78

avatar

Nombre de messages : 240
Age : 26
Localisation : Yvelines
Date d'inscription : 24/05/2010

MessageSujet: 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 ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jimx78

avatar

Nombre de messages : 240
Age : 26
Localisation : Yvelines
Date d'inscription : 24/05/2010

MessageSujet: 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 ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5993
Age : 68
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: 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)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
jimx78

avatar

Nombre de messages : 240
Age : 26
Localisation : Yvelines
Date d'inscription : 24/05/2010

MessageSujet: Re: Besoin d'aide pour la Cryptographie en RSA svp   Lun 19 Oct 2015 - 12:17

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Besoin d'aide pour la Cryptographie en RSA svp   

Revenir en haut Aller en bas
 
Besoin d'aide pour la Cryptographie en RSA svp
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Besoin d'aide pour description avec Html et css (j'espere que je me suis bien exprimé...)
» Besoin d'aide pour arranger le profil
» Besoin d'aide pour liens dans tableau
» Besoin d'aide pour problème de plagiat
» Besoin d'aide pour modifier l'affichage de messages :)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: