RSA
grdnb.h
Aller à la documentation de ce fichier.
1 #ifndef GRDNB_H
2 #define GRDNB_H
3 
17 typedef struct
18 {
19  int *tableau;
20  int indicemax;
21  int signe;
22 } GRDNB;
23 
24 GRDNB creerGRDNB(int taille);
25 GRDNB diveuclidedeux(GRDNB a, GRDNB b, GRDNB *quotient);
26 GRDNB str2grdnb(char *chaine);
27 int divisible(GRDNB e,GRDNB phi_n,int base);
28 int egal(GRDNB a, GRDNB b);
29 void affectation(GRDNB *a, GRDNB b);
30 int tailleBase2(GRDNB a);
31 int tailleIdentique(GRDNB a,GRDNB b, GRDNB *acopie, GRDNB *bcopie);
32 GRDNB somme(GRDNB a, GRDNB b, int base);
33 GRDNB expomodrap(GRDNB message, GRDNB e, GRDNB n, int base);
34 GRDNB sous(GRDNB a, GRDNB b, int base);
35 GRDNB soustraction(GRDNB a, GRDNB b, int base);
36 void copie(GRDNB a, GRDNB *acopie);
38 int sontpremiers(GRDNB a, GRDNB b, int base);
39 GRDNB addition(GRDNB a, GRDNB b, int base);
40 void supprimezero(GRDNB *a);
41 int vraishiftdroite(GRDNB *a);
42 GRDNB mulunique(int a, int b, int base);
43 char *GRDNBtoSTR(GRDNB a);
44 GRDNB b10Tob2(GRDNB a, int taille);
45 GRDNB euclideetendu(GRDNB dividende,GRDNB diviseur, int base, GRDNB *u, GRDNB *v);
46 GRDNB mulnaive(GRDNB a, GRDNB b,int base);
47 GRDNB div2(GRDNB a);
48 int isMulDeux(GRDNB a);
49 GRDNB IntToGRDNB(int a, int base);
50 GRDNB diveuclide(GRDNB a, GRDNB b, int base, GRDNB *quotient);
51 int vraishiftgauche(GRDNB *a);
52 GRDNB sousnombre(GRDNB a, int debut, int fin);
53 int ismax(GRDNB a, GRDNB b);
54 GRDNB PuissanceRapide(GRDNB a, GRDNB puissance, int base);
55 void afficher(char *chaine, GRDNB a);
56 int shiftdroite(GRDNB *a);
57 int shiftgauche(GRDNB *a);
58 void echanger(int *tableau, int i, int j);
59 GRDNB un();
60 int isBase2(GRDNB a);
61 //int DEBUG = 1;
62 GRDNB modulo(GRDNB a, GRDNB b, int base);
63 #endif
GRDNB addition(GRDNB a, GRDNB b, int base)
Permet de faire a - b, peu importe leur signe et on peut avoir b > a.
Definition: grdnb.c:954
GRDNB un()
Crée un grand nombre valant 1.
Definition: grdnb.c:40
int isMulDeux(GRDNB a)
Permet de savoir si un nombre est divisible par 2.
Definition: grdnb.c:780
int ismax(GRDNB a, GRDNB b)
Permet de savoir si a >= b.
Definition: grdnb.c:800
GRDNB modulo(GRDNB a, GRDNB b, int base)
Permet d&#39;exprimer a sous la forme a = b * quotient + retour, avec retour < b
Definition: grdnb.c:170
void echanger(int *tableau, int i, int j)
Echange deux cases dans un tableau d&#39;entiers.
Definition: grdnb.c:1239
int shiftdroite(GRDNB *a)
Permet d&#39;ajouter une case valant 0 à gauche d&#39;un GRDNB.
Definition: grdnb.c:1155
int isBase2(GRDNB a)
Permet de savoir si le tableau d&#39;un GRDNB ne comprend que des 0 ou des 1.
Definition: grdnb.c:1316
int vraishiftgauche(GRDNB *a)
Permet d&#39;ajouter une case à 0 à la fin du tableau de a.
Definition: grdnb.c:1197
int tailleBase2(GRDNB a)
Permet de connaitre la taille en base 2 d&#39;un GRDNB écrit en base 10.
Definition: grdnb.c:1071
GRDNB expomodrap(GRDNB message, GRDNB e, GRDNB n, int base)
Permet de calculer message^e = resultat mod[n] dans une base donnée.
Definition: grdnb.c:692
int vraishiftdroite(GRDNB *a)
Permet de supprimer la dernière case du tableau de a.
Definition: grdnb.c:1174
void afficher(char *chaine, GRDNB a)
Affiche dans la console un GRDNB précédé de son signe et d&#39;une chaine de caractère, et suivi d&#39;un retour à la ligne.
Definition: grdnb.c:1254
int egal(GRDNB a, GRDNB b)
Permet de savoir si deux GRDNB sont égaux.
Definition: grdnb.c:476
GRDNB sous(GRDNB a, GRDNB b, int base)
Permet d&#39;additionner deux GRDNB positifs avec a > b.
Definition: grdnb.c:1002
GRDNB div2(GRDNB a)
Permet de diviser (entièrement) rapidement un nombre en base 10 par 2.
Definition: grdnb.c:750
int * tableau
Definition: grdnb.h:19
GRDNB b2Tob10(GRDNB a)
Permet de convertir un GRDNB de la base 2 à la base 10.
Definition: grdnb.c:1131
GRDNB str2grdnb(char *chaine)
Convertit un nombre écrit dans une chaine de caractère en GRDNB.
Definition: grdnb.c:1278
GRDNB mulnaive(GRDNB a, GRDNB b, int base)
Permet de faire la multiplication entre deux GRDNB dans une base donnée.
Definition: grdnb.c:348
int indicemax
Definition: grdnb.h:20
char * GRDNBtoSTR(GRDNB a)
Transforme un grand nombre en chaine de caractères.
Definition: grdnb.c:621
GRDNB IntToGRDNB(int a, int base)
Transforme un int en GRDNB dans une base donnée.
Definition: grdnb.c:649
int shiftgauche(GRDNB *a)
Permet de supprimer la case la plus à gauche du tableau d&#39;un GRDNB.
Definition: grdnb.c:1215
GRDNB somme(GRDNB a, GRDNB b, int base)
Permet d&#39;additionner deux GRDNB positifs.
Definition: grdnb.c:840
GRDNB sousnombre(GRDNB a, int debut, int fin)
Recrée un autre nombre à partir d&#39;un autre nombre et d&#39;une position de début (inclue) et de fin (excl...
Definition: grdnb.c:537
GRDNB soustraction(GRDNB a, GRDNB b, int base)
Permet de faire a - b, peu importe leur signe et on peut avoir b > a.
Definition: grdnb.c:907
int tailleIdentique(GRDNB a, GRDNB b, GRDNB *acopie, GRDNB *bcopie)
Permet de mettre deux grands nombres à la même taille sans les modifier.
Definition: grdnb.c:226
GRDNB euclideetendu(GRDNB dividende, GRDNB diviseur, int base, GRDNB *u, GRDNB *v)
Trouve le pgcd de deux entiers a et b et le couple(u,v) tel que au + bv = PGCD(a,b) ...
Definition: grdnb.c:424
void copie(GRDNB a, GRDNB *acopie)
Definition: grdnb.c:283
GRDNB mulunique(int a, int b, int base)
Permet de multiplier deux entiers et de renvoyer le résultat sous forme de GRDNB. ...
Definition: grdnb.c:506
GRDNB b10Tob2(GRDNB a, int taille)
Permet de convertir un GRDNB de la base 10 à la base 2.
Definition: grdnb.c:1094
int signe
Definition: grdnb.h:21
void supprimezero(GRDNB *a)
Permet de supprimer les zéros superflus au début d&#39;un GRDNB.
Definition: grdnb.c:1056
GRDNB creerGRDNB(int taille)
Crée un grand nombre.
Definition: grdnb.c:23
void affectation(GRDNB *a, GRDNB b)
Permet de faire a = b sans perte de mémoire.
Definition: grdnb.c:316
Objet représentant un grand nombre, sa taille et son signe.
Definition: grdnb.h:17
GRDNB diveuclide(GRDNB a, GRDNB b, int base, GRDNB *quotient)
Permet d&#39;exprimer a sous la forme a = b * quotient + retour, avec retour < b
Definition: grdnb.c:87
GRDNB PuissanceRapide(GRDNB a, GRDNB puissance, int base)
Calcule a^puissance dans la base spécifiée.
Definition: grdnb.c:569