METHODOLOGIE EN GENIE INFORMATIQUE
Par Ramy • 26 Mars 2018 • 2 966 Mots (12 Pages) • 604 Vues
...
/*------------------------------------------ exponetiation ------------------------------------------*/[pic 8]
exponetiation (a: entier, k : entier, n: entier) : une fonction -> entier
{Cette fonction retourne au programme principale le PGCD de r1 et r0}
/*------------------------------------------ premier ------------------------------------------*/
premier (n: entier) : une fonction -> entier
{Cette fonction retourne au programme principale un entier premier compris entre 8 et 255 }
/*------------------------------------------ touve_premier ------------------------------------------*/
touve _premier (t: entier) : une fonction -> entier
{Cette fonction retourne au programme principale un entier premier compris entre 8 et 255 à l’aide de la fonction premier}
/*------------------------------------------ gen_cle --------------------------------------------*/
gen_cle (REFERENCE e: entier, REFERENCE n: entier):une fonction->booléen[pic 9]
{Cette fonction génère/crée dans la base de donnée (existante) de nouvelles clés publiques "e" et "n" qui seront conservé dans la base de données et les clés privées qui seront conservé par l’utilisateur pour cela elle utilisera les fonctions touve_premier, premier, exponetiation, euclide, PGCD qui seront étudier séparément ou presque.}
-
Spécifications de la fonction
/*-------------------------------------PROGRAMME PRINCIPALEE------------------------------------*/
Principale () : la fonction
{L’utilisateur es invité à entrer son nom puis un test est effectueé pour vérifier si l’utilisateur existe déjà sinon on lui génère des clés publiques et privées }
DÉBUT
ECRIRE "Entrez nom:"
LIRE nom
SI id_user(nom,e,n)=0 ALORS
gen_cle(e,n)
ad_user(nom,e,n)
ECRIRE "la clef de cryptage de votre profil",nom,"est:",e," ",n
ECRIRE "com pte cree avec succes"
SINON
ECRIRE 'utilisateur deja existe'
id_user(nom,e,n
ECRIRE "\nBonjour ",nom,"(cle publique:\nbienvenue dans le logiciel d'archivage"
FINSI
FIN
/*-------------------------------------gen_cle------------------------------------*/
gen_cle( REFERENCE e: entier, REFERENCE n: entier): la fonction->booleen
{Cette fonction génère/crée dans la base de donnée (existante) de nouvelles clés publiques "e" et "n" qui seront conservé dans la base de données et les clés privées qui seront conservé par l’utilisateur pour cela elle utilisera les fonctions touve_premier, premier, exponetiation, euclide, PGCD qui seront étudier séparément ou presque.
ENTRER REFERENCE e, REFERENCE n
\\ recuperation d'une valeur aleatoire pour p et
\\q comprise entre 8 et 255
p=ARR(alea(8,255))
q=ARR(alea(8.255))
\\Recherche d'un nombre premier
c=trouve_premier(p)
d=trouve_premier(q)
ECRIRE 'p',p
ECRIRE 'q',q
\\Calcul de n et phin en fonction de p et q
n=p*q
phin=(p-1)*(q-1)
\\ recuperation d'une valeur aleatoire poure comprise
\\ entre 2 et phin-1
e=ARR(alea(2,(phin-1)))
\\ Recherche du plus grand diviseur commun entre e et phin
t= pgcd(e,phin)
TANTQUE (e=1) ET (t!=1) FAIRE\\
t= pgcd(e,phin)
FINTANTQUE
d=euclide(e,phin)\\
SI d
d=d+phin
FINSI
M=ARR(alea(1,n-1))
SI M
C=exponentiation(M,e,n)\\
M=exponentiation(C,d,n)\\
FINSI
\\ Affichage
ECRIRE "\n> : \nd:", d,"\nn:",n,"\n"
ECRIRE"Valeur de votre Message Crypté ET Décrypté : \n"
ECRIRE "C = ",C ,"\n"
ECRIRE "M = ",M ,"\n"
ECRIRE "NB: Veuillez bien mémorisez votre clé privé .Merci \n"
\\ p=0; q=0; phin=0
RETOURNER 1
---------------------------------------------------------------
-
Conception détaillée
...