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
» Button_picture
par pascal10000 Aujourd'hui à 11:41

» Pourquoi le compilateur stagne
par Minibug Aujourd'hui à 11:09

» 4 (en analyse): SYNEDIT_TARGET_IS_OBJECT devient inactif
par Jack Aujourd'hui à 10:09

» 3 (en analyse): Mauvaise interprétation du string "THEN"
par Jack Aujourd'hui à 10:03

» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Marc Aujourd'hui à 10:00

» KGF_dll - nouvelles versions
par pascal10000 Hier à 17:27

» Mah-Jong européen new-look
par Minibug Mar 12 Déc 2017 - 22:31

» track_bar circulaire
par Klaus Mar 12 Déc 2017 - 13:54

» API Windows
par Klaus Mar 12 Déc 2017 - 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Besoin d'aide pour la Cryptographie en RSA svp

Voir le sujet précédent Voir le sujet suivant 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 - 23: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 - 23: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 - 23: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 : 5613
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 - 2: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 : 475
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Besoin d'aide pour la Cryptographie en RSA svp   Ven 16 Oct 2015 - 13: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 : 5613
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 - 13: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 - 15: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 : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Besoin d'aide pour la Cryptographie en RSA svp   Ven 16 Oct 2015 - 15: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 : 5613
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 - 15: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 - 9: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 - 9: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 : 5613
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 - 13: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 - 13: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
Voir le sujet précédent Voir le sujet suivant 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: