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
» Dessin 2D: largeur de trait
par JL35 Aujourd'hui à 17:48

» Projet de planétarium virtuel.
par Pedro Alvarez Aujourd'hui à 16:28

» PanExpress : l'éditeur Panoramic avec création d'objet
par Jean Claude Hier à 20:32

» Animation: Feux de signalisation
par Minibug Hier à 20:28

» Quantité de mémoire utilisée par un exe
par Jack Mar 19 Juin 2018 - 16:39

» Problème avec 'file_load'.
par Pedro Alvarez Lun 18 Juin 2018 - 8:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 14:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 19:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 19:14

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 20:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 20:52

» Cadre pour image
par Jean Claude Mar 12 Juin 2018 - 16:31

» Créateur d'objets Panoramic
par Minibug Mar 12 Juin 2018 - 14:02

» Planétarium gratuit.
par Jean Claude Sam 9 Juin 2018 - 18:50

» Comment afficher une image sans fond.
par JL35 Sam 9 Juin 2018 - 14:16

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2018
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
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 : 5953
Age : 67
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/ En ligne
silverman

avatar

Nombre de messages : 644
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 : 5953
Age : 67
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/ En ligne
Jicehel

avatar

Nombre de messages : 5923
Age : 45
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 : 5953
Age : 67
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/ En ligne
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 : 5953
Age : 67
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/ En ligne
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 le Déménagement
» Besoin d'aide pour la Cryptographie en RSA svp
» Besoin d'aide pour carte suede
» aide pour recherche drivers
» [ Résolu ] Besoin d aide pour extraire piste de cd audio protégé

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: